关于指针的问题?
来源:百度文库 编辑:神马文学网 时间:2024/04/20 06:20:05
主 题: 关于指针的问题?
作 者: cg_i (半点闲)
等 级:
信 誉 值: 98
所属社区: C/C++ C语言
问题点数: 20
回复次数: 10
发表时间: 2005-10-17 19:50:33
操作系统:WINXP
编辑器:VC
//头文件省略。。。。
void u_p(char *p)
{
free (p);
p = NULL;
}
void main (void)
{
char *pstr = (char *) malloc (sizeof(char));
*pstr = ‘a‘;
u_p (pstr);
if ( pstr == NULL )
{
printf ("pstr=NULL");//运行后始终不会执行此语句。这是什么原因,应该如何解决?
}
system ("pause");
}
回复人: csucdl(csucdl) ( ) 信誉:100 2005-10-17 19:52:00 得分: 0
void u_p(char *&p)
{
free (p);
p = NULL;
}
Top
回复人: csucdl(csucdl) ( ) 信誉:100 2005-10-17 19:56:00 得分: 0
void u_p(char **p)
{
free (*p);
*p = NULL;
}
void main (void)
{
char *pstr = (char *) malloc (sizeof(char));
*pstr = ‘a‘;
u_p (&pstr);
if ( pstr == NULL )
{
printf ("pstr=NULL");//运行后始终不会执行此语句。这是什么原因,应该如何解决?
}
system ("pause");
}
Top
回复人: megaboy(飞天御剑流之杀神一刀斩) ( ) 信誉:100 2005-10-17 20:01:00 得分: 0
printf ("pstr=NULL");//运行后始终不会执行此语句。这是什么原因,应该如何解决?
---------------------------------------------------------------------------
释放的是内存,但指针的值仍然保留的。直接pstr=NULL就得了。
Top
回复人: v41dugu(一步一生) ( ) 信誉:105 2005-10-17 21:41:00 得分: 0
void u_p(char *p) //这里的p是临时变量的p啊 和main函数里的pstr并不是一个东西
{
free (p);
p = NULL; //你这里把这个临时变量p赋为NULL 但是函数结束这个p就消亡了
}
void main (void)
{
char *pstr = (char *) malloc (sizeof(char));
*pstr = ‘a‘; //这里的pstr始终是指向的动态分配出来的内存啊,你把内存释放了 但是
//pstr并没有被置为NULL啊
u_p (pstr);
if ( pstr == NULL )
{
printf ("pstr=NULL");//运行后始终不会执行此语句。这是什么原因,应该如何解决?
}
system ("pause");
}
Top
回复人: kahn(麟) ( ) 信誉:100 2005-10-17 22:52:00 得分: 0
觉得楼上在乱说
Top
回复人: kahn(麟) ( ) 信誉:100 2005-10-17 22:54:00 得分: 0
free掉了,当然(( pstr == NULL ) == FALSE )咯
Top
回复人: SammyLan(没有窍门,只有努力.LOVE 33 4 Ever) ( ) 信誉:96 2005-10-17 23:23:00 得分: 0
C没有引用的吧
Top
回复人: crybird(寒号鸟) ( ) 信誉:100 2005-10-17 23:36:00 得分: 0
回复人: kahn(麟)
你楼上说的基本正确
a----> |-------|
b----> |-------|
free
|-------|
|-------|
a==NULL之后,
b是不变的,还是指向那个地方
Top
回复人: kahn(麟) ( ) 信誉:100 2005-10-17 23:55:00 得分: 0
嗯,是我错了,p是NULL,pstr还是原先得地址,地址内的值为‘a‘,搞错了,搞错了。
Top
回复人: wohow() ( ) 信誉:100 2005-10-18 09:12:00 得分: 0
v41dugu(一步一生)说的完全正确
Top
作 者: cg_i (半点闲)
等 级:
信 誉 值: 98
所属社区: C/C++ C语言
问题点数: 20
回复次数: 10
发表时间: 2005-10-17 19:50:33
操作系统:WINXP
编辑器:VC
//头文件省略。。。。
void u_p(char *p)
{
free (p);
p = NULL;
}
void main (void)
{
char *pstr = (char *) malloc (sizeof(char));
*pstr = ‘a‘;
u_p (pstr);
if ( pstr == NULL )
{
printf ("pstr=NULL");//运行后始终不会执行此语句。这是什么原因,应该如何解决?
}
system ("pause");
}
回复人: csucdl(csucdl) ( ) 信誉:100 2005-10-17 19:52:00 得分: 0
void u_p(char *&p)
{
free (p);
p = NULL;
}
Top
回复人: csucdl(csucdl) ( ) 信誉:100 2005-10-17 19:56:00 得分: 0
void u_p(char **p)
{
free (*p);
*p = NULL;
}
void main (void)
{
char *pstr = (char *) malloc (sizeof(char));
*pstr = ‘a‘;
u_p (&pstr);
if ( pstr == NULL )
{
printf ("pstr=NULL");//运行后始终不会执行此语句。这是什么原因,应该如何解决?
}
system ("pause");
}
Top
回复人: megaboy(飞天御剑流之杀神一刀斩) ( ) 信誉:100 2005-10-17 20:01:00 得分: 0
printf ("pstr=NULL");//运行后始终不会执行此语句。这是什么原因,应该如何解决?
---------------------------------------------------------------------------
释放的是内存,但指针的值仍然保留的。直接pstr=NULL就得了。
Top
回复人: v41dugu(一步一生) ( ) 信誉:105 2005-10-17 21:41:00 得分: 0
void u_p(char *p) //这里的p是临时变量的p啊 和main函数里的pstr并不是一个东西
{
free (p);
p = NULL; //你这里把这个临时变量p赋为NULL 但是函数结束这个p就消亡了
}
void main (void)
{
char *pstr = (char *) malloc (sizeof(char));
*pstr = ‘a‘; //这里的pstr始终是指向的动态分配出来的内存啊,你把内存释放了 但是
//pstr并没有被置为NULL啊
u_p (pstr);
if ( pstr == NULL )
{
printf ("pstr=NULL");//运行后始终不会执行此语句。这是什么原因,应该如何解决?
}
system ("pause");
}
Top
回复人: kahn(麟) ( ) 信誉:100 2005-10-17 22:52:00 得分: 0
觉得楼上在乱说
Top
回复人: kahn(麟) ( ) 信誉:100 2005-10-17 22:54:00 得分: 0
free掉了,当然(( pstr == NULL ) == FALSE )咯
Top
回复人: SammyLan(没有窍门,只有努力.LOVE 33 4 Ever) ( ) 信誉:96 2005-10-17 23:23:00 得分: 0
C没有引用的吧
Top
回复人: crybird(寒号鸟) ( ) 信誉:100 2005-10-17 23:36:00 得分: 0
回复人: kahn(麟)
你楼上说的基本正确
a----> |-------|
b----> |-------|
free
|-------|
|-------|
a==NULL之后,
b是不变的,还是指向那个地方
Top
回复人: kahn(麟) ( ) 信誉:100 2005-10-17 23:55:00 得分: 0
嗯,是我错了,p是NULL,pstr还是原先得地址,地址内的值为‘a‘,搞错了,搞错了。
Top
回复人: wohow() ( ) 信誉:100 2005-10-18 09:12:00 得分: 0
v41dugu(一步一生)说的完全正确
Top
关于指针的问题?
指向指针的指针的一个问题
结构体指针的问题!
结构体指针的问题!
关于C++中函数指针的使用
关于指针强制类型转换的思考
彻底搞定C指针---指向指针的指针(转)
Delphi的指针
Delphi的指针
C51指针的使用
答读者关心的全国首届经络电指针按摩疗法学习交流班的有关问题
答读者关心的全国首届经络电指针按摩疗法学习交流班的有关问题
关于指针与函数的几点小结 - C语言技巧讨论 - jiuzhuaxiong
关于常数型指针变量的用法,做为一个知识点分享给大家
关于sync4j的问题
关于CEZFileToGZip的问题
关于汉奸的问题
关于睡眠的问题
关于鼻炎的问题
关于新闻联播的问题
关于多吃多占的问题
关于平等的问题
关于sizeof的问题
关于动脉粥样硬化的问题!