个渣渣C语言之数组

时间:2022-01-27 08:02:53

---恢复内容开始---

  学c语言就知道数组、指针在c中有着特殊的地位。而且是必须掌握的一项知识,学会它会让你受益无穷。

  一、数组

  1、数组:室友一系列相同元素构成的。它连续的存储在内存中。

  2、数组的声明:

    格式:   类型 数组名 [元素个数];

    例 : int myarray[10];

    注意:在c99之前不允许出现元素个数为变量的情况。

    例:

      int n = 10;

      int myarray[n];     // C99之前不允许(这种声明方式不允许被初始化)

  3、数组的初始化:

  •     int myarray[] = {1,2,3,4,5};    // 正确,这种情况下元素个数可以省略。
  •     int myarray [10] = {1,2,3,4,5,6,7,8,9,0};  //  一般情况,元素和元素中间用 “,”分割
  •     int myarray [10] = {1,2,3};  // 只初始化前三个元素。
  •   int myarray [10] = {[4] = 4,[6] = 6}; //第5个元素个第6个员被初始化,其他元素都为0。
  • int n = 10;   int  myarray [n] = {1,2,3,4,5,6,7,8,9,0};   //错误 。C99之后允许变量作为数组的元素个数,但是不允许初始化这种声明。

    那么如果我们在数组定义后并不对其进行初始化,数组元素的值是什么?

      数组定义的时候,只是划出一片区域,冠以数组名来存储数组元素。但是在定义数组的时候并不改变这片区域里数据,也就是说在这篇区域中的值是不确定的。

  4、数组的赋值

  •     int myarray [10] = {1,2,3,4,5,6,7,8,9,0};
  •     int oarray [10];
  •     oarray = myarray;   //错误,c不支持把一个数组作为一个整体来进行赋值。
  •     oarray [10] =   {1,2,3,4,5,6,7,8,9,0}; // 错误,c不支持一个花括号括起来进行赋值。

   5、数组的边界

   在使用数组的时候,需要注意数组索引不能超过数组边界。也就是说数组索引对于数组来说应该是有效的。

   

---恢复内容结束---