知识点6.C语言数组的总结

1.数组的含义:

数组就是一堆相同类型数据的集合

2.数组的定义 :

数组类型 数组名 数组长度

  uchar     a       [3];

注意:数组定义时必须规定数组的长度。
1)数组变量名的命名规则符合标识符命名规则;
2)数组长度在定义时必须固定,并且是常量或常量表达式
不允许是变量。
3)数组元素的下标从0开始,长度是10,0—9
4)数组长度只能是固定的,不允许随机的改变。

uchar T=3;(全局变量)
uchar niu[T]; 错误的

3.数组的典型应用

  uchar a,b,c,d,e,f;
  uchar niu[4]={3,6,21};
  a=niu[0];   //3  数组元素下标从0开始
  b=niu[1];  // 6
  c=niu[2];   //21
  d=niu[3];   //0  如果数组元素没有赋值默认为0
  e=niu[4];  // 随机值

4.数组的特例

  uchar a,b,c,d,e,f;
  uchar niu[4]={3,6,21};
  uchar chen[]={3,9,100,200,210,221};
//在定义时同时给元素赋值那么可以不用定义长度
  uchar nsd[]="edu118";

//组在定义时同时给元素赋值但是字符串赋值
//那么长度多了结束符/0**
uchar nnn[6]=“edu118”;
a=sizeof(niu); 4//注意数组名是求数组总长度而不是数组首元素长度
b=sizeof(chen); 6
c=sizeof(nsd); 7
d=nsd[5]; //‘8’是字符8可不是数字8
e=niu[6]; // /0 结束符
f=sizeof(nnn); //6//当规定长度的字符数组是,长度就是字符数组长度,可以没有\0结尾
4.1 在定义时同时给元素赋值那么可以不用定义长度
4.2 组在定义时同时给元素赋值但是字符串赋值那么长度多了结束符/0
4.3 =sizeof(niu); 4
//注意数组名是求数组总长度而不是数组首元素长度
4.4当规定长度的字符数组是,长度就是字符数组长度,可以没有\0结尾**

5.数组的初始化

uchar niu[3]={3,9,40};//定义时可以同时初始化
uchar nsd[3];
nsd[3]={1,7,3}; 错误的
定位完成,对该数组里面的元素逐一赋值。
nsd[0]=1;
nsd[1]=nsd[2];
数组的初始化有三种情况
1.数组在定义时可以给全部元素或部分元素初始化;
2.数组定义好以后,只能对数组里面的元素逐个赋值
不能整体赋值;
3.数组在定义时可以通过字符串进行初始化

  uchar niu[6]="edu118";  sizeof(niu)=6
  uchar nsd[]="edu118";   sizeof(nsd)=7.

6.二维数组:

二维数组定义的一般形式为
类型说明符 数组名[常量表达式][常量表达式]
例如:float a[3][4],b[5][10];
不能写成:float a[3,4],b[5,10];
屁股——腚 乌龟的屁股——龟腚,规定。
二维数组定义:
数组类型 数组名[行下标表达式][列下标表达式];
uchar niu[3][6];
该数组为二维数组,为3行6列。

1.按行赋初值:
数据类型 数组名[行常量表达式][列常量表达式]=
{{第 0 行初值表},{第 1 行初值 表},……,{最后 1 行初值表}};
赋值规则:将”第 0 行初值表”中的数据,依次赋给第 0 行中各元素;
将“第 1 行初值表”中的数据,依次 赋给第 1 行各元素;以此类推。
2.按二维数组在内存中的排列顺序给各元素赋初值 数据类型
数组名[行常量表达式][列常量表达式]={初值表};
赋值规则:按二维数组在内存中的排列顺序,将初值表中的数据,
依次赋给各元素。 如果对全部元素都赋初值,则“行数”可以省略。
注意:只能省略“行数”。

uchar niu[3][5]={{1,2,3,4,5},{6,7,8,9,10},{11,21,31,41,51}};

uchar ncc[3][5]={1,2,3,4,5,6,7,8,9,11,12,99,88,44};
uchar nzz[][5]={{1,2,3,4,5},{6,7,8,9,11},{12}};
uchar a,b,c,d,e,f;
   a=ncc[3][5];
   b=ncc[0][3];
   c=ncc[2][1];
   d=ncc[2][4]; 

二维数组的总结:
1.二维数组在定义时可以赋值;
2.二维数组的行和列必须是常量或常量表达式,必须是固定的,不能修改;
3.二维数组在定义时如果赋值了,可以不要行。
4.二维数组定义时赋值有两种方式:第一种标准格式,第二种和一维数组赋值
类似,但是第0行的所有列赋完值,再第1行-----。

多维数组

:和二维完全相同,X,Y,Z.___尽量不用,因为不影响赚钱。

字符数组

:用来存放字符的数组就是字符数组。
唯一不同,如果定义时字符串赋值,多了一个\0

你可能感兴趣的:(C语言总结类)