C语言数组初始化问题

C语言数组初始化问题最近在复习 C 语言 然后做题时突然想到了数组的初始化问题 然后查阅资料了解到结论 全局和静态数组都按语言规范要求被初始化为 0 对于局部数组 初始化元素个数少于数组元素个数时 数组前面的元素值对应初始化值 后面未被初始化的元素自动初始化为 0 但当局部数组定义时 没有用列表对其初始化 那么数组元素的值是不可预料的 在编程的时候要注意这个问题 下面贴出测试代码 includestdio hint

最近在复习C语言,然后做题时突然想到了数组的初始化问题,然后查阅资料了解到结论:

全局和静态数组都按语言规范要求被初始化为0 对于局部数组,初始化元素个数少于数组元素个数时,数组前面的元素值对应初始化值,后面未被初始化的元素自动初始化为0; 但当局部数组定义时,没有用列表对其初始化,那么数组元素的值是不可预料的,在编程的时候要注意这个问题。 

下面贴出测试代码:

#include 
    int array1[4]={ 
  1,2}; int array2[4]; static int array3[4]={ 
  1,2}; static int array4[4]; int main() { int ary1[4]={ 
  1,2}; int ary2[4]; static int ary3[4]={ 
  1,2}; static int ary4[4]; int i; for(i = 0;i < 4;i++) printf("%d ",array1[i]); printf("\n"); for(i = 0;i < 4;i++) printf("%d ",array2[i]); printf("\n"); for(i = 0;i < 4;i++) printf("%d ",array3[i]); printf("\n"); for(i = 0;i < 4;i++) printf("%d ",array4[i]); printf("\n"); for(i = 0;i < 4;i++) printf("%d ",ary1[i]); printf("\n"); for(i = 0;i < 4;i++) printf("%d ",ary2[i]); printf("\n"); for(i = 0;i < 4;i++) printf("%d ",ary3[i]); printf("\n"); for(i = 0;i < 4;i++) printf("%d ",ary4[i]); return 0; }

上述运行结果符合结论。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206901.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午3:14
下一篇 2026年3月19日 下午3:14


相关推荐

  • 数据挖掘十大算法(四):Apriori(关联分析算法)

    数据挖掘十大算法(四):Apriori(关联分析算法)终于到了机器学习实战的第十一章了,这也是继K-均值后的第二个无监督学习算法了。同样的该算法也是在一堆数据集中寻找数据之间的某种关联,这里主要介绍的是叫做Apriori的‘一个先验’算法,通过该算法我们可以对数据集做关联分析——在大规模的数据中寻找有趣关系的任务,本文主要介绍使用Apriori算法发现数据的(频繁项集、关联规则)。这些关系可以有两种形式:频繁项集、关联规则。    频…

    2022年5月1日
    35
  • java学习路线,一个初中生学java要多久,java难学吗

    java学习路线,一个初中生学java要多久,java难学吗一门永不过时的编程语言——Java软件开发java难学吗java不难,你可以做如下学习一、到相应的培训机构付费学习别在这说培训机构没用什么的,不过一定要找正规的培训机构,不然容易被坑。培训机构里面的课程都是现在工作中需要用到的,时间短,所以可能学生消化得没那么快,基础可能也没那么快巩固,所以需要自己更加的努力。在培训机构里学习要注意的是:勤加练习、主动自学、有问题提,不懂的尽管问老师,不然毕业后再有问题就没有这么好的机会能够直接得到有效的沟通了。二、自学由于是自学,所以从开始到入门会很枯燥,

    2022年7月9日
    28
  • no debuggable processes_no port for remote debugger

    no debuggable processes_no port for remote debuggerAlwaysusethedebugruntimeduringthedevelopmentcycleUsethereleaseversionduringthedevelopmentphasetomeasuretheperformance/CPUutilizationoftheapplicationInstallan

    2022年10月11日
    10
  • 从事智能家居行业的企业(Top 45家)

    从事智能家居行业的企业(Top 45家)1、青岛海尔家居集成有限公司(Haier)总部:山东青岛主营:家庭智能终端,可视对讲系统。官网:http://www.haier.com2、霍尼韦尔(Honeywell)总部:美国主营:电子保安系列,视频监控,防盗控制,门禁集成系统。官网:http://www.cn.security.honeywell.com3、广州市河东电子有限公司(HD

    2022年6月22日
    45
  • Json与 String 转换

    Json与 String 转换将 json 对象转化为 String paramt param T return publicstatic T StringjsonTo Tt Gsongson newGson returngson toJson t 将字符串转换为 json 对象 T T

    2026年3月17日
    3
  • 手动UPX脱壳演示「建议收藏」

    手动UPX脱壳演示「建议收藏」首先,用PEid打开加壳后的程序CrackmeUPX.exe,可以发现使用的是UPX壳。UPX壳是一种比较简单的压缩壳,只需要根据堆栈和寄存器的值进行调试,就能找到程序的正确入口点。当然,如果不怕麻烦的话,也可以全程单步调试,直到出现像正常程序的入口点一样特征的代码,这样就找到了入口点。用我爱激活成功教程版ollydbg打开CrackmeUPX.exe,可以看到第一条指令是pushad,这显…

    2022年7月19日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号