一直纠结在指针变量前的*
到底什么意思
今天重新研究了下课本,心得如下
1.指针变量也是一个变量,为了与普通变量区分才在前面加上*
,所以在定义指针变量时*
只是标志。
2.顾名思义,指针变量对应的是普通参数的指针(也就是地址),而普通变量的地址表示方式是在参数前加上&(取地址运算符)。
eg:int *p,m; p=&m;
3.当一个普通变量或者是实参被指针变量指向后,怎样用指针变量表示它指向的参数呢,此时又要用到*
来调用指针变量,不过此时它是作为一个单目运算符—指针运算符来用的。
eg:int *y,n=3; y=&n; *y=300; printf("%x:%d,%d\n",y,n,*y)
此时程序输出的结果为
13ff7c:300,300
谨以此记