c语言指针
我最近看c,看到指针这里。
我想问下,这里加入有int *ip;是定义了一个指针变量
那现在ip与*ip有什么区别呢
书上我看说的好像现在ip是一个指针。那还有&a也是一个指向a的指针。到底哪个是指针啊。
希望详细点
[解决办法]
指针变量的值实际上是一个地址,这个地址就是指针所指向的变量的地址,比如有一个整型变量a,在内存中的地址是1000,在地址1234中的值是5,那么有一个指针变量p,本身的地址是2000,如果指针变量p指向整型变量a,意味着在p的地址2000处的值是1000,也就是a的地址
*p操作表示取p所指向的地址的值,在上面的例子中,*p就是以p中的值为地址,取这个地址的值,即地址1000处的值,也就是5
&操作表示取一个变量的地址,比如&a表示取a的地址,用来给一个指针赋值,比如p = &a;
[解决办法]
指针也就是pointer,有所指向的意思。
int *ip;
那么,现在ip是一个指针,
ip作为一个指针变量(相当与一张名片),它这个名片的内容是一个门牌地址,该门牌地址又存储了一堆货物(可以是变量,常量,程序函数等等.)
&a也是一个指向a的指针,&我们叫它:"取指"操作,就是取门牌号的意思;
这里a = 一堆货物;&a得到它的门牌.
[解决办法]
dataxdata说得比较详细了,