c - 带有 int 的 Malloc **

标签 c pointers int malloc

如果我的函数中有一个参数 int **a 我想知道 a = (int **)malloc(sizeof(a)*(length)*a = (int *)malloc(sizeof(a)* 有什么区别(长度) 我上周发现了 malloc,所以我还不了解所有内容。 谢谢 !

最佳答案

malloc 只返回一个 void * 指针,仅此而已。

a 是指向指针的指针。

等号的右边在这里并不重要,所以不要管右边。现在我们得到了:

// 1st code fragment
int **a1;
// Asign a null pointer to a1, now a1 is a NULL pointer
a1 = (int **)NULL;

// 2rd code fragment
int **a2;
// Asign a null pointer to the pointer pointed by a2.
// Here may crash actually, because a2 is not initialized yet.
*a2 = (int *)NULL;

关于c - 带有 int 的 Malloc **,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51949703/

相关文章:

c - fscanf--尝试扫描int的txt文件,fscanf只读取1s

python - 带有指针结构的 SWIG 函数

int - kotlin int 盒装标识

Java隐式转换char到int?

c - 程序无法正确识别二维数组值

c - 优化文字解析器

c++ - 如何在循环 C++ 中创建唯一指针?

java - Java 中的转换问题

c - 使用类型安全在 C 中管理和处理多个抽象数据类型?

c - 使用ffmpeg安装Open-CV出错