c - 如何为指向 char * 数组的指针分配内存?

标签 c memory multidimensional-array allocation

有人可以解释一下如何在 c 中为指向字符指针数组的指针正确分配内存吗?例如:

char *(*t)[];

我试着这样做:

*t = malloc( 5 * sizeof(char*));

这给了我一个编译错误:

error: invalid use of array with unspecified bounds

在这方面的任何帮助都会很棒!谢谢

最佳答案

你可以做的是:

char **t = (char**)malloc( <no of elements> * sizeof(char*));

分配指针数组。

for (i = 0 ; i< <no of elements> ; i++)
{
    t[i] = (char*)malloc( <length of text> * sizeof(char));
}

为数组的每个元素指向的文本分配内存。

关于c - 如何为指向 char * 数组的指针分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936770/

相关文章:

c++ - 无法在 64 位 Vista 上运行使用 MinGW Dev-C++ 编译的 C 程序

c - 函数中的malloc()结构,结束程序之前为free()

java_为什么打印成员变量给出实际值?

java - 有没有更好/更小的方法来比较矩阵的值

php - 帮我从多维 PHP 数组中获取一个值

c - while 和 eof 不起作用

c - c语言中public,private,protected关键字如何实现?

c# - 固定和不安全有什么区别

Android AdMob 导致内存泄漏?

javascript - 如何将 3d 数组转换为 2d 数组