运算符的优先级,可以这么理解:int* p = &a或(int*) p = &a
数组名就是数组的首地址,所以*a == a[0],&*a == &(a[0]),即取a[0]的地址,p是一个指向int型的指针,所以 *p=&*a是对的
int a=100, *p=&a;//p=&a,把a的地址赋给指针变量p,那就表示指针变量指向了变量a printf("%d",*p);输出*p,意思是输出p所指变量中的内容,也就是输出a变量的内容,即100
int *p是定义一个指针 对应的该是地址int*p=&a 则a是个指针或数组int*p=&a 则a是个数据
*p=a就是表示 指针指向了a的地址 也就是10*p=&a就是表示 把a的地址和指针变量绑定 然后*就是代表指向这个地址p=&a 就是a的地址合P绑定其实说白了 p=&a就代表绑定地址 *的意思就是代表指向哪个绑定的方向
一、函数的参数什么时候用int **a函数定义中参数叫形参.函数调用时,调用者使用的参数数据为实参.当实参是一维指针变量的地址时,形参要用二维指针.如:main(){int *p; //定义一个指针变量p,p也有自己的存储地址,p中可以存放别的整
当然是d正确int *p=&a; 与 int *p; p=&a;这两个是等价的但是int *p; *p=a; 就不同了,只是把a的值赋给*p,并没有让p指向a的地址
错,最后那个A;这里不对,不能单独一个变量一个语句
你好!&(*p)就是&a,是取a的地址,*(&a)就是a,即取a的值 图中程序输出70 如有疑问,请追问.
int *p=&a;其实是声明一个指针p,并初始化它指向a的地址.等同于int *p=null;int a=0;p=&a;