• 关于数组


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

    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

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

  • 相关阅读:
    暴破助攻提权:ruadmin
    Python 绝技 —— TCP服务器与客户端
    代码审计| HDWiki 漏洞(一)
    Android逆向——smali复杂类解析
    从外部入侵公司:外部渗透测试
    大脸猫讲逆向之ARM汇编中PC寄存器详解
    Ms17-010进行WEB提权之实践下某培训靶机服务器
    XSS钓鱼某网约车后台一探究竟,乘客隐私暴露引发思考
    python爬虫实践教学
    Swif语法基础 要点归纳(一)
  • 原文地址:https://www.cnblogs.com/rainbowdawn/p/8400045.html
Copyright © 2020-2023  润新知