1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c语言二级指针内存释放 详解C语言-二级指针三种内存模型

c语言二级指针内存释放 详解C语言-二级指针三种内存模型

时间:2023-10-27 13:54:22

相关推荐

c语言二级指针内存释放 详解C语言-二级指针三种内存模型

二级指针相对于一级指针,显得更难,难在于指针和数组的混合,定义不同类型的二级指针,在使用的时候有着很大的区别

第一种内存模型char *arr[]

若有如下定义

char *arr[] = {"abc", "def", "ghi"};

这种模型为二级指针的第一种内存模型,在理解的时候应该这样理解:定义了一个指针数组(char * []),数组的每个元素都是一个地址。

在使用的时候,若要使用中间量操作元素,那么此时中间量应该定义为

char *tmp = NULL;

如果要打印这个数组,那么可以使用以下函数

int printAarray(char **pArray, int num)

{

int i = 0;

if (pArray == NULL)

{

return -1;

}

for (i = 0; i < num; i++)

{

printf("%s \n", pArray[i]);

}

return 0;

}

第二种内存模型char arr[][]

若有如下定义

char arr[3][5] = {"abc", "def", "ghi"};

这种模型为二级指针的第二种内存模型,在理解的时候应该这样理解:定义了一个二维数组,有3个(5个char)空间的存储变

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。