• 关于数组


    分为一维数组、二维数组、字符数组

    1、c语言不允许对数组的大小做动态定义,即数组的大小不依赖于程序运行过程中变量的值,例如:

          int n;

          scanf("%d",&n);

          int a[n];

          这样是不行的


    2、c语言规定只能逐个引用数组元素而不能一次引用整个数组

          下标可以是整型常量或整型表达式,例如:a[0],a[2*3]

          元素个数小于数组长度,则其余元素自动为0

          一维数组:在对全部元素赋初值时,可以不指定数组长度,例如:int a[]={1,2,3,4,5}  (系统会自动定义a数组长度为5

          二维数组初始化:

                 1) 分行给二维数组赋初值:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

                 2) 将所有数据写在一个花括号:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

                 3) 对部分元素赋初值:int a[3][4]={{1},{5},{0,9}}; 分行,其余元素自动为0  

                     也可以只对几行元素赋初值:int a[3][4]={{1},{5,6}};

                 4) 如果对全部元素赋初值,定义时第一维长度可以省略,第二维长度不能省略:int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12}  或者:int a[][4]={{1,2,3,4},{5},{}}

                      即,可以省略行数,不能省略列数

    3、字符数组中,如果元素个数小于数组长度,则其余元素自动为空字符('')

          字符数组就是把数字换成字符,其余规则与一般数组相同:char c[]={'u','f','o'}

          在C语言中,将字符串作为字符数组来存放。字符串结束标志 '',字符串结束标志之前的长度为有效字符串长度

          字符数组初始化的另一种方法是采用字符串常量来初始化,例如:char c[]={"i am happy"};  也可以省略花括号直接写成char c[]="i am happy";数组长度不是10,而是11,因为字符串敞亮的最后由系统加上一个''

               char c1[3]={'a','s','d'},结尾没有'';而char c2[3]="asd"会报错,此时会自动加'',实际长度变成了4

    注:参考文章 ,对部分做了精简

  • 相关阅读:
    Google验证码Kaptcha的详细过程
    stm32—单总线(1-wire)
    stm32—I2C
    归并排序(MergeSort)
    冒泡排序(Bubble Sort)
    stm32—GPIO
    stm32—时钟系统
    stm32—复位
    转义字符表
    ASCII码表格
  • 原文地址:https://www.cnblogs.com/rainbowdawn/p/8400045.html
Copyright © 2020-2023  润新知