指针数组与二级指针的区别

char  **ptr;//二级指针

char *ptr[]={NULL,NULL,NULL};//指针数组。

**ptr 是一个存放指针的指针,因此使用前需先开辟一段空间。而*ptr[] 指针数组表示存放指针的数组,是一个数组,使用前不需要开辟空间。但是对于存放数据时,都需要开辟空间来使用。因此二级指针需要1,2步操作,指针数组只需第二步操作。

1.ptr =malloc(3 *sizeof (char *));等价于 *ptr [3];

2. for(i =0;i<3;i++)

{

    ptr[i] =malloc(sizeof(char)*10);//表示可以存放长度为10 的字符串。

}

猜你喜欢

转载自blog.csdn.net/linke_linux/article/details/80226371