hac*_*cks 19 c array-initialization variable-length-array
在初始化可变长度数组编译器时会给出错误消息:
[Error] variable-sized object may not be initialized
Run Code Online (Sandbox Code Playgroud)
代码段:
int n;
printf("Enter size of magic square: ");
scanf("%d",&n);
int board[n][n] = {0};
Run Code Online (Sandbox Code Playgroud)
如何初始化可变长度数组?为什么所有元素都没有0按照以下方式初始化;
int board[n][n];
board[n][n] = {0};
Run Code Online (Sandbox Code Playgroud)
?
Car*_*rum 19
你必须使用memset:
memset(board, 0, sizeof board);
Run Code Online (Sandbox Code Playgroud)
AnT*_*AnT 18
无法通过任何形式的初始化语法初始化 VLA .您必须在声明后以您喜欢的方式将初始值分配给数组元素.
初始化程序不应尝试为未初始化的实体中包含的对象提供值.
要初始化的实体的类型应为未知大小的数组或不是可变长度数组类型的完整对象类型.
| 归档时间: |
|
| 查看次数: |
45464 次 |
| 最近记录: |