例:
int a[10];
如果定义成全局数组,则此数组就会自动初始化为0
但如果定义成局部数组,则必须要先初始化
int a[10];
memset(a,0,sizeof(a));
一般开全局数组比较大,最大约等于5*10^8,也就是开不到10^9级别的数组,当遇到这种情况,可以考虑离散化。
所以一般全局数组,一维可以开到10^8,二维可以开到10^4.
本文探讨了C语言中数组的初始化方式,包括全局数组和局部数组的区别,以及如何使用memset进行显式初始化。同时,文章提到了数组内存分配的限制,如全局数组的最大尺寸约为5*10^8,以及在高维度情况下使用离散化的策略。
例:
int a[10];
如果定义成全局数组,则此数组就会自动初始化为0
但如果定义成局部数组,则必须要先初始化
int a[10];
memset(a,0,sizeof(a));
一般开全局数组比较大,最大约等于5*10^8,也就是开不到10^9级别的数组,当遇到这种情况,可以考虑离散化。
所以一般全局数组,一维可以开到10^8,二维可以开到10^4.

被折叠的 条评论
为什么被折叠?