在C语言中,初始化数组的默认值取决于数组的存储位置。具体而言,有以下几种情况:
以下是一些示例代码,展示了不同情况下数组的默认初始化行为:
#include <stdio.h>
int globalArray[5]; // 全局数组
void func() {
static int staticArray[5]; // 局部静态数组
int localArray[5]; // 局部自动数组
printf("Global Array:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", globalArray[i]);
}
printf("\n\nStatic Array:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", staticArray[i]);
}
printf("\n\nLocal Array:\n");
for (int i = 0; i < 5; i++) {
printf("%d ", localArray[i]);
}
}
int main() {
func();
return 0;
}
输出结果为:
Global Array:
0 0 0 0 0
Static Array:
0 0 0 0 0
Local Array:
-858993460 -858993460 -858993460 -858993460 -858993460
需要注意的是,以上仅适用于基本数据类型的数组。对于结构体数组或其他自定义类型的数组,其元素的默认值取决于该类型的默认构造函数或初始化方法。
对于C语言中数组初始化的更多细节和技巧,可以参考腾讯云C语言开发文档中的相关章节:C语言开发文档。
领取专属 10元无门槛券
手把手带您无忧上云