声明多个指针变量: int *p1,*p2; 指针声明符*仅对与它相邻的标识符起作用,同一个声明语句中声明多个变量时,应于每个标识符前放置一个的指针声明符*。
声明指针时初始化: int i=10; int *p1=&i; //&i是变量i的地址,初始化为变量i的地址,指向对象i,成为变量i的指针,引用的值为10 int *p2=NULL; //NULL就是空,初始化为空地址,指向空对象,成为空指针,表示不指向任何对象,不是任何变量的指针,也就不能引用任何合法的值 指针赋值: int i=10; int *p1; //声明指针 p1=&i; //对指针赋值 指针可在声明时初始化,也可以在声明后赋值。未初始化的指针变量在声明之后会获得一个任意的地址,这个地址可能是程序数据区的地址也有可能是代码区的地址,这样的指针变量叫作野指针,对野指针进行访问会产生不可预知的结果导致程序崩溃。因此,任何指针在赋值后才能使用,最好的方法是在声明指针时初始化为空指针,使用时再赋值。 另外不要使用“指针的指针”、“指向指针的指针”这样模糊的表述,只会让你更加糊涂。这样说“指针变量的指针”、“指向指针变量的指针”。