指针变量与普通变量的区别

如题所述

普通变量是直接传值
指针变量传递地址,指针内保存的是内存地址,指针有类型,对指针进行解引用操作可以将指针内的内存地址的二进制数据作为指针对应的类型来操作

1、传递参数时:对于指针,&p传递的是指针的地址
p传递的是指针所指的变量的地址,也就是变量的地址。

2、int *p 和 int p有什么区别
int p和int *p在为函数传参时,对于int p,只传递它的副本,在函数内部改变p的值不能改变
p在函数外面的值。

而对于*p,可以通过*p=X,来改变它之前所指元素的值,函数外边的值也改变。
例如 int *p,a=4; p = &a; fn(p){*p = 5;} 则调用函数后,a=5。
温馨提示:答案为网友推荐,仅供参考
相似回答