gpt4 book ai didi

c - 将二维字符数组与函数一起使用

转载 作者:行者123 更新时间:2023-12-01 13:17:14 25 4
gpt4 key购买 nike

当我在 C 中声明或编写一个采用二维 char 数组的函数时,Visual Studio 告诉我必须在列参数中放置一个值,例如:

void board(char mat[][MAX_COLUMNS]);

所以我的问题是为什么我什至需要告诉 C 二维数组的一维,为什么它必须具体是列数。

最佳答案

因为数组在 C 中不是第一类对象。当您将数组传递给函数时,它衰减为指针,被调用者无法猜测其大小。对于一维数组,它仍然允许通过指针算法访问元素。但是对于二维数组(数组的数组),指针算法要求第二级对象(这里是一行)的大小是已知的。这就是列数必须明确的原因。

另外,Microsoft C 不支持可变长度数组,因此列数必须是常量。

关于c - 将二维字符数组与函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53682058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com