C语言数组

本文详细介绍了C语言中的数组,包括一维数组、二维数组的定义、初始化及内存占用,还讲解了字符串的初始化、赋值以及字符串数组的概念,并提供了示例代码及其运行效果,强调了数组下标越界的潜在风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、数组

二、数组占用内存的大小

三、数组的初始化

示例 

运行效果

 运行效果

四、二维数组 

二维数组的初始化

示例

运行效果

 运行效果

五、字符串

 字符串的初始化

字符串的赋值

字符串数组

温馨提示


一、数组

数组(array)是一组数据类型相同的变量,可以存放一组数据,它定义的语法是:

数据类型 数组名[数组长度];

例如:

 double array[20];

array是一个数组,包含了20个元素,每个元素都一个double类型的变量,可以通过下标访问数组中元素(element),数组下标的编号从0开始,数组的第1个元素是array[0],第2个元素是array[1],以此类推,直到第20个元素array[19]。

给每个元素赋double类型的值,可以这样写:

  array[0] = 10.1;
  array[1] = 10.2;
  array[2] = 10.3;
  ……
  array[19] = 3.14;

定义数组的时候,数组的长度必须是整数,可以是常量,也可以是变量。

数据的下标也必须是整数,可以是常量,也可以是变量。

使用数组元素和使用同类型的变量一样。

  scanf("%lf", &array[4]);   // 把一个值读入数组的第5个元素

数组的类型可以是任意数据类型。

  int      no[20];    // 可储存20个int类型整数的数组
  char    yes[25]; // 可储存25个字符的数组
  double haha[100];  // 可储存100个double类型整数的数组

二、数组占用内存的大小

数组是有多个变量组成,占用内存总空间的大小为多个变量占用的内存空间之和,用sizeof(数组名)就可以得到整个数组占用内存的大小

  int i[10];    // 定义一个整型数组变量
  printf("i占用的内存大小为=%d\n",sizeof(i));     // i占用的内存大小为=40
  printf("int占用的内存大小为=%d\n",sizeof(int)); // int占用的内存大小为=4

三、数组的初始化

1. 采用memset函数对数组进行初始化

  int array[10];
  memset(array,0,sizeof(array));

第一个参数是数组名,第二个参数填0,第三个参数是数组占用的内存总空间,用sizeof(变量名)获取

2. 逐个初始化数组,也可以使用一个初始化语句,如下所示:

double array[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。

如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:

double array[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

您将创建一个数组,它与前一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易点点心动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值