我正在尝试编写一个C程序,该程序从文本文件中读取输入并将其放入2D数组中,其中行是行,列是字符。
但在阅读以下文章后我感到困惑:
http://c-faq.com/aryptr/pass2dary.html
我想到的功能定义是
int processArray(char **text) {
...
...
}
我试图传入一个指向2D数组的指针,该数组的尺寸直到运行时才知道。我希望能够使用两个方括号[] []
访问元素然而,在链接中它说明了以下内容:
尝试调用时必须使用中间指针 它有一个二维数组:
extern g(int **ipp); int *ip = &array[0][0]; g(&ip); /* PROBABLY WRONG */
但这种用法 由于阵列已经存在,因此具有误导性且几乎肯定是不正确的 “扁平”(它的形状已经丢失)。
答案 0 :(得分:0)
不考虑VLA,您可以使用简单的指针指向矩阵:
if (list?.Any() != true)
{
// Handle null or empty list
}