数组的相关知识

1.数组的定义

定义:所谓一维数组是指只有一个下标的数组。它在计算机的内存中是连续存储的。
     同种数据类型的集合,一片连续的内存空间。

C语言中,一维数组的说明一般形式如下:
        存储类型    数据类型    数组名[元素个数] ;
    
        int a[5];


下标访问数组元素:
              (1)从0开始
              (2)数组名[下标]
    
sizeof(数组名)                       计算数组的空间大小  
sizeof(数组名)/sizeof(数据类型)       数组元素个数
   
  
数组名代表数组首元素的地址    
 

2.数组的初始化

  
数组的初始化:
            (1)完全初始化:在定义的时候,给全部元素赋值
                int a[5] = {1,2,3,4,5};
    
             (2)部分初始化:在定义的时候,给部分元素赋值,其余没有赋值元素自动赋值为0
                int a[5] = {1,2,3};
                int a[10] = {0};  --- 全部赋值为0
                    
            (3)下标法初始化
                int a[5] = {1,[2]=2,[4]=3};


            (4)数组具有自动计数功能:
                int a[] = {1,2,3};
                int a[] = {[4] = 3};


3.数组越界问题


            非法访问内存, 段错误。
            int a[5] = {1,2,3,4,5};
            
            a[2] = 10;
            a[5] = 20;  //--- error
            a[10] = 30  //--- error    

                
4.感受动态内存


           (1)可变数组 (不建议这样去写)  
               int n;
               printf("input n:");
               scanf("%d", &n);  
                
               int a[n]; 

                           
            注意:可变数组不能进行初始化操作
                
            (2)宏定义
               #define  SIZE  1024
                int a[SIZE];


5.数组赋值

            int a[5];
            a[0] = 1;
            a[2] = 2;

            int i;
            for(i = 0; i < 5; i++)
            {
                printf("a[%d]=", i);
                scanf("%d", &a[i]);`                
            }

            for(i = 0; i < 5; i++)
            {
                printf("a[%d]=%d", i, a[i]);
            }

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值