返回malloc()函数
malloc()函数用于返回空指针或指向分配空间的指针。假设我们对一个字符串做如下声明:返回malloc()函数,c,pointers,C,Pointers,malloc()函数用于返回空指针或指向分配空间的指针。假设我们对一个字符串做如下声明: char* ptr = malloc(size) ptr不是指向指针的指针吗? 不是: char** ptr = malloc(size) 应该是声明指向char的指针的正确方法吗 然而,当我们这样做时,编译器也不会给出警告,它给出的警告是针对格式说明符(如果使用) 我们应该如何申报,为什么?另外,如何使用char** 否,'ptr'将包含由'malloc'返回的指针。您正在分配返回的指针,而
char* ptr = malloc(size)
ptr
不是指向指针的指针吗?不是:
char** ptr = malloc(size)
应该是声明指向char的指针的正确方法吗
然而,当我们这样做时,编译器也不会给出警告,它给出的警告是针对格式说明符(如果使用)
我们应该如何申报,为什么?另外,如何使用char** 否,'ptr'将包含由'malloc'返回的指针。您正在分配返回的指针,而不是获取其地址。字符*表示字符指针。Malloc将返回一个
void*
指针(该指针将自动转换为您试图分配的任何指针)
char**
表示char*
指针。这是指向指针的指针
如果你认为指针是一个映射,那么char*
是一个到char的映射,void*
是一个到神秘事物的映射,char**
是一个到另一个映射的映射,该映射指向一个char。所以
char* ptr = malloc(size);
是正确的,因为您想要的是指向某物的地图,而不是指向地图的地图。
是指向字符的指针,通常用于管理数组 或者一根绳子*ptr
是指向字符的指针,通常用于**ptr
管理矩阵(数组数组数组)或字符串数组