1.int *p=&a; 则a是一个普通整型变量,指针p指向变量a的地址。这表明,声明指针变量p时,直接初始化,指向得a的地址.
这跟int *p; p=&a;是同等的.
如:
int main()
{
int b=3;
int* p;
p=&b;
printf("%d",*p);//打印时,p加上*号,取出指向变量b的地址值.
return 0;
}
2.int*p=a;
这种表达式,说明a是一个数组或者是另一个指针变量
如: int a[3]={1,2,3};
int *p=a;//等同于int *p; p=a;
这个时候,p指向了数组a的首地址,即指针p指向了a[0];
如:
int main()
{
int
b[3]={1,2,3};
int* p;
p=b;//p指向了数组b的首地址.
printf("%d",*p);//*p打印可以得到首地址的值。
return 0;
}
楼主如果想更加仔细的了解,可以阅读<c primer plus>或者<c与指针>这两本书。
普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。