疑难解答:数组声明中的语法错误
尝试从声明的变量创建数组时,您可能会遇到错误:
expression must have a constant value
出现此错误是因为 C 中的数组需要常量表达式来表示它们
解决错误
要解决此错误,您有两个选项:
动态数组允许变量通过在堆上分配内存来调整大小。但是,您必须使用 new 和 delete 运算符手动分配和释放此内存:
// Allocate the array int** arr = new int*[row]; for (int i = 0; i < row; i++) arr[i] = new int[col];
// Use the array // ... // Deallocate the array for (int i = 0; i < row; i++) delete[] arr[i]; delete[] arr;
要维护固定大小的数组,必须将维度声明为Constant:
const int row = 8; const int col = 8; int arr[row][col];
注意事项
您提供的语法 int [row][col]; 是不正确的,因为它没有为数组。
以上是在 C 中声明数组时如何修复'表达式必须具有常量值”语法错误?的详细内容。更多信息请关注PHP中文网其他相关文章!