• C语言之数组中你所不在意的重要知识



    #include<stdio.h>
    
    void simpleArray();
    
    void main()
    {
    
    	simpleArray();
    	
    }
    
    
    //数组的简单操作
    void simpleArray()
    {
    	//数组的声明并赋值
    	int c[5] = { 1, 2, 3, 4, 5 };
    	printf("
    C数组内存中占%d个字节",sizeof(c));//    /0在内存中会占一个字节,可是仅仅针对于字符串
    	printf("
    C数组中有%d个元素",sizeof(c)/sizeof(int));
    	printf("输出数组中的值,并打印每一个元素的地址:
    ");
    	for (int i = 0; i < 5; i++)
    	{
    		printf("
    c[%d]=%d  and  c[%d]=%x",i,c[i],i,&c[i]);
    
    	}
    
    	system("pause");
    }



    1,设置断点后,执行打印出结果。




    2,查看局部变量。





    3,显示出数组信息。






    4,查看内存。





    5,依据局部变量中的地址,查看到内存中的数据。





    内存中数据的动态赋值过程:


    #include<stdio.h>
    
    void valuation();
    void main()
    {
    	
    	valuation();
    }
    
    //动态对数组赋值
    void valuation()
    {
    	int d[10];
    	for (int i = 0; i < 10; i++)
    	{
    
    		d[i] = i + 1;
    
    	}
    	system("pause");
    }



    1,设置断点。

      



    2,F5启动调试。




    3,查看局部变量。




    4,此时内存中还没有值,由于还没有赋值。



    5,为了方便操作,右键,选择停靠。




    6,按F5继续,发现第一个被赋值为1。




    7,继续按F5,第二个元素被赋值为2。




    8,一直F5继续道赋值为9时停止了,尽管数组的最后一位,没有赋值,可是for循环已经不再满足条件,此时跳出循环。正确的写法应该把i<10改为i<=10。





  • 相关阅读:
    vuejs 2 生命周期钩子函数
    js 原型链
    两段代码说明 闭包,变量提升 问题
    node 模块全局位置
    git 提交代码
    mongoose 由一个版本引起的问题
    box-shadow 让div 立体起来
    flexbox 学习笔记 参考阮一峰老师的blog
    Linq的分页与组合查询的配合使用
    发送邮件和数据导出
  • 原文地址:https://www.cnblogs.com/yxwkf/p/3821019.html
Copyright © 2020-2023  润新知