当前位置:   article > 正文

二维数组;字符数组(1)_二维数组初值个数大于数组长度会不会语法错误

二维数组初值个数大于数组长度会不会语法错误

# 二维数组

1.类型说明符 数组名 [常量表达式1] [常量表达式2];

    int a[i] [j];表示第i行第j列上的单元。

2.数组元素个数必须是常量表达式,不能使用变量。

3.用于定义数组长度的常量表达式必须是大于0的正整数。列数必须给出,行数可由编译器来数。(int a [0]编译可通过,但无意义)。

4.二维数组在内存中的排序是按行存放,各元素线性连续存放。

# 二维数组的初始化

(1)

  1. int a[2] [3]={ {1,2,3},{4,5,6} };//分行赋值
  2. int a[2] [3]={123456};//按数组在内存中的排列顺序对各元素赋值
  3. int a[3] [4]={ {1},{5} ,{3} };//对部分元素赋值,第一行1000,二行5000,三行3000
  4. int a[3] [4]={ {1},{0,6},{0,0,0,8} };//对各行中的某一元素赋值,三行分别为1000,0600,0008
  5. int a[3] [4]={ {1},{5,6} };//只对某几行赋值

(2)若对全部元素都赋初值,则定义数组时对第一维的长度可不指定,但第二维 的长度不可省。

(3)定义时可只对部分元素赋初值,省略第一维度的长度,但应分行赋初值。

# 字符数组

   C语言用字符数组存放字符串,字符数组中的各元素依次存放字符串的各字符。

   字符串实际占有单元的数量等于字符串加1。(\0)

1.用单个字符对字符数组初始化  char c[4]={ 'c','p','r,'\0'};

(1)如果在定义字符时不进行初始化,数组中的各元素的值是不可预料的。

(2)花括号中提供的初值个数大于数组长度,会出现语法错误。

(3)提供的初值个数与预定的数组长度相同时,定义时可省略数组长度系统会自动根据初值个数确定数组长度。

(4)初值个数小于数组长度,将这些字符赋给数组中前面那些元素,其余元素自动定位空字符('\0')

2.用字符串常量对字符数组初始化

(1) char str [6]={"CHINA"};

(2)char str[6]="CHINA";

(3)char str[]="CHINA";

字符串存储到字符数组中,字符串与第一个'\0'构成有效字符串。

字符串使用结束符'\0'来控制循环。

 

 

未完待续~

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/319771
推荐阅读
相关标签
  

闽ICP备14008679号

        
cppcmd=keepalive&