c语言的指针赋值语句怎么写,c++函数指针作为参数
在C/C语言中,给一个函数分配指针的问题。首先,你可以看到以下现象:
无效测试(int *p)
{
p=NULL
}
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
int *t,y=10
t=y;
测试(t);
返回a . exec();
}
这个结果让我有点意外。我一直以为指针会在赋值后改变。没想到指针居然是个变量。如果我们想改变它,我们必须在内存中找到它的地址,也就是指针的地址。也就是说,在函数中,如果分配了指针的地址,实际上是不能改变原来的指针的!
无效测试(int **p)
{
* p=NULL
}
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
int *t,y=10
t=y;
测试(t);
返回a . exec();
}
另外,通过引用赋值也可以解决这个问题:
无效测试(int p)
{
int n=9;
p=n;
}
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
int t,y=10
t=y;
测试(t);
返回a . exec();
}
另外,指针指向的内容可以修改,而不是指针地址,内容也可以改变。
无效测试(int *p)
{
int n=9;
* p=n;
}
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
int *t,y=10
t=y;
测试(t);
返回a . exec();
}
无效测试(int *p)
{
int n=9;
* p=n;
}
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
int t,y=10
t=y;
测试(t);
返回a . exec();
}
原创作品来自勿忘你的倡议心,的博主,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。