C语言基础(四)数组

C语言中的数组

数组用来存储一系列相同类型的数据。数组有一个数组名,访问其中元素的时候通过下标来访问。

1.数组的定义(声明)

数组定义的语法:
DataType ArrayName[length];

DataType表示数据类型,通常为基本数据类型:int,double,char
ArrayName表示数组名称,该名称定义方式和定义变量一样,可以是任意的,但不能是关键字,不能以数字,特殊符号开头。
length表示该数组的长度,length可以是常量,变量,但必须是整数。
数组下标可以是常量,变量,但必须是整数。

例如:

int array1[20];		//声明一个长度为20的整形数组
double array2[30];	//声明一个长度为30的double类型数组
char  array3[20];	//声明一个长度为20的char类型数组变量,可以存储20个字符
int a=10;
int array4[a];

2.数组的初始化

数组的初始化使用memset函数,具体使用方法如下:

int array1[20];		//声明一个长度为20的整形数组
double array2[30];	//声明一个长度为30的double类型数组
char  array3[20];	//声明一个长度为20的char类型数组变量,可以存储20个字符


memset(array1,0,sizeof(array1));
memset(array2,0,sizeof(array2));
memset(array3,0,sizeof(array3));

memset函数第一个参数是数组名,就是需要初始化的数组,第二个参数是0,第三个参数是需要分配的长度(占用的内存空间),用sizeof()函数来获取。

3.数组的赋值以及获取值

数组可以使用下标来给其中的某一个数据赋值,也可以使用下标来获取该数组某一位置的值。
实现方式如下:

#include <stdio.h>
#include <stdlib.h>
#include<string.h> 

int main(int argc, char *argv[]) {
	int array1[20];		//声明一个长度为20的整形数组
	double array2[30];	//声明一个长度为30的double类型数组
	char  array3[20];	//声明一个长度为20的char类型数组变量,可以存储20个字符
	
	memset(array1,0,sizeof(array1));
	memset(array2,0,sizeof(array2));
	memset(array3,0,sizeof(array3));

	int i,j;
	for(i=0;i<20;i++)
	{
		array1[i]=i*10;			//赋值
	}
	for(j=0;j<20;j++)
	{
		if(j!=0&&j%5==0)		//实现换行
		{
			printf("\n");
		}
		printf("%d\t",array1[j]);	//输出
	}
	return 0;

}

运行结果如下:

0 10 20 30 40
50 60 70 80 90
100 110 120 130 140
150 160 170 180 190

数组也可以从键盘获取输入值。实现方法如下:

#include <stdio.h>
#include <stdlib.h>
#include<string.h> 



int main(int argc, char *argv[]) {
	int array1[20];		//声明一个长度为20的整形数组
	double array2[30];	//声明一个长度为30的double类型数组
	char  array3[5];	//声明一个长度为20的char类型数组变量,可以存储20个字符
	
	memset(array1,0,sizeof(array1));
	memset(array2,0,sizeof(array2));
	memset(array3,0,sizeof(array3));

	int i,j;
	for(i=0;i<5;i++)
	{
		printf("please input the value of array3[%d]:",i);
		scanf("%lf",&array2[i]);
	}
	for(j=0;j<5;j++)
	{
		printf("%lf\t",array2[j]);
	}
	
	return 0;

}

二维数组

定义方式:

DataType ArrayName [length1][length2];

DataType表示数据类型,通常为基本数据类型:int,double,char
ArrayName表示数组名称,该名称定义方式和定义变量一样,可以是任意的,但不能是关键字,不能以数字,特殊符号开头。
可以将该数组看成是一个length1 * length2的一个矩阵。
length表示该数组的长度,length可以是常量,变量,但必须是整数。
数组下标可以是常量,变量,但必须是整数。

二维数组的定义方式和一位数组是一样的,在这里就不在赘述。

字符串和字符数组

如果一个字符数组的末尾字符为空字符‘\0’,则这个字符数组就变成了一个字符串。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黑暗守护者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值