c - malloc() 函数的返回

标签 c pointers

malloc() 函数据说返回一个空指针或指向已分配空间的指针。假设对于一个字符串,我们声明:

char* ptr =  malloc(size)  

难道 ptr 不是指向指针的指针吗?
不是:

char** ptr = malloc(size)  

应该是声明指向 char 的指针的正确方法?

然而,当我们这样做时,编译器不会给出警告,它给出的警告是针对格式说明符(如果使用)的。

我们应该如何声明,为什么?另外,如何使用 char** ?

最佳答案

不,“ptr”将包含“malloc”返回的指针。您正在分配返回的指针,而不是获取它的地址。

关于c - malloc() 函数的返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42695283/

相关文章:

c - 在 C 中使用 openMP 的简单 for 循环

C chars 和 char* 指针的索引

c++ - 如何在 C++ 中正确使用指向数组的字符指针?

c++ - 如何让两个线程通过指针交换数据?

c++ - C/C++ OpenCV视频处理

c - 是否可以仅按名称管理 JobObject,而无需保持打开的 HANDLE?

c - 当我们不知道确切的单词数和单词长度时,如何以最有效的方式为 char** 分配内存?

c++ - 在将数组传递给 printf 等可变参数函数时,我应该将数组转换为指针吗?

C 交换指针竞争条件

pointers - Go 中的非指针错误不确定是什么意思