我正在使用malloc创建一个2D数组,当我遍历该数组时,有一些我不想要的字符和符号。数组不应该完全为空吗?
我试图将空字符分配给每一行的开头,但这不会改变任何内容。
char **structure;
structure = malloc(sizeof *structure * 2);
if (structure) {
for (size_t i = 0; i < 2; i++) {
structure[i] = malloc(sizeof *structure[i] * 20);
structure[i][0] = '\0';
}
}
for (int i = 0; i <= 2; i++) {
for (int j = 0; j < 20; j++) {
printf("%c ", structure[i][j]);
}
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
我期望输出只是空白,但这是出现的情况:
Z Ñ P Ñ l L O
Z Ñ P Ñ N U M B
Run Code Online (Sandbox Code Playgroud) c ×1