1:指针的地址可以由以下方法得到:
int a = 5;
int *pA = &a;
cout<<"The &pA is :"<<&pA<<endl;
2:在定义的时候赋值是不能连等赋值的:
例如下面
int x = y = z = 5;
此时,编译器会对y 、z报错。同样,对于指针也是如此,例如:
int *m = *n = *w = 0;
此时,编译器会对n 、w报错。
3:对于指针的连等赋值建议使用地址连等赋值:
对于以下程序,编译器不会报错:
int *m =0 , *n = 0 , *w = 0;
*m = *n = *w = 8;//把8改为x(x已定义赋值)也一样
但是运行程序的时候会出现错误(至少对偶的机子是这样)。Windows XP提示:
“0x004013bd”指令引用的“0x00000000”内存。该内存不能为“written”。
所以建议使用:
m = n = w = &x;
展开全文
收起全文