图片[1]yxqzC语言的数组yxqz小余塘

作者:余小小

日期:2021-10-02

数组概念

  • 数组数据结构(顺序表),它可以存储一个固定大小的相同类型元素的顺序集合

  • 数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

  • 所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。

  • 数组名的实际值是第一个元素的地址

  • 数组中的元素可以通过索引被访问,第一个索引值为 0。

  • 数组的 名字 遵守:小驼峰+标识符

  • 有几个[]符号,就叫做几维数组

创建数组——静态

声明数组

这叫做一维数组。数组长度 必须是一个大于零的整数常量,不能传入变量

数据类型 数组名字 [ 数组长度 ];
double yxqz [10];

数组元素赋值

yxqz[0] = 1000.0;
yxqz[1] = 2.0;
yxqz[2] = 1000.0;
  • 数组的长度一共是有10个长度

  • 所以,在创建数组的时候,就会开辟10个长度的空间

  • 这里只用到了3个空间,所以其他的空间都是根据相应的 数据类型自动设置成默认值

遍历数组

数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内

一般使用循环遍历

int main ()
{
   double yxqz [10];
   yxqz[0] = 1000.0;
   yxqz[1] = 2.0;
   yxqz[2] = 1000.0;
   for (int  i  = 0;i<10;i++){
       printf("数组中的元素:%f\n",yxqz[i]);
  }
   return 0;
}

可以看到,其他的值都是double类型的默认值

image-20211130222435748

创建数组——动态

多个参数,使用对象的方式来进行创建,因为在c中没有对象这个说法,但是这个其实是对象的写法。

double yxqz[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
int main ()
{
   double yxqz[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
   yxqz[0] = 1000.0;
   yxqz[1] = 2.0;
   yxqz[2] = 1000.0;
   for (int  i  = 0;i<10;i++){
       printf("数组中的元素:%f\n",yxqz[i]);
  }
   return 0;
}

二维数组

二维数组,第二个[]必填

在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组

  • 第一个[ ]:行

  • 第二个[ ]:列

[3][2]:三行二列
[2][2]:二行二列

二维数组格式伪代码

数据类型 数组名字 [ 行 ][ 列 ];

所以,和一维数组一样,也是有两种定义方式的,第一种是静态的,第二种是动态的。

double demo1[3][2];

静态初始化

接着上面定义的数组,进行初始化

demo1[0][0]=66;demo1[0][1]=77;demo1[1][2]=88;demo1[1][0]=99;

遍历二维数组

  • 之前学习循环嵌套的时候,就了解过了,第一层循环是行,第二层循环是列

  • 所以,这里要循环嵌套来遍历,进行双层循环,因为要用到数组索引,所以用for循环

  • 我这个写法,可能在某些编译器会报错,把i和j提前声明就是了

int main() {   
    double demo1[3][2];  
    demo1[0][0] = 66;    
    demo1[0][1] = 77;    
    demo1[1][2] = 88;  
    demo1[1][0] = 99;  
    for (int i = 0; i < 3; i++) {  
        for (int j = 0; j < 2; j++) {   
            printf("二维数组中的元素:%f,%f\n", demo1[i][j]); 
        }   
    }   
    return 0;
}

动态初始化

这里的行可以不用填也是可以的哦

double demo1[][2]={{1,3},{1,4},{2,3}};
int main() { 
    double demo1[][2]={{1,3},{1,4},{2,3}}; 
    for (int i = 0; i < 3; i++) { 
        for (int j = 0; j < 2; j++) {   
            printf("二维数组中的[%d][%d] =元素:%f,%f\n", i,j,demo1[i][j]);
        }   
    }   
    return 0;
}
文章版权声明 1、本网站名称:小余塘
2、本站永久网址:https://www.yxqz.top/
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ2457431511进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容