C语言- 一维数组的定义及访问

C语言中的数组是可以批量管理多个连续数据的一种数据类型

注意:数组也是一种数据类型

 比较正式的定义是:数组是具有一定顺序关系的若干相同类型数据集合

 

一维数组的定义:

基本格式:类型符  数组名[常量表达式]

类型符:表示基本数据类型,如int, float,double,char..

常量表达式:表示数组元素的个数,必须是整型数据常量表达式,不能是变量

int a[5];    char str[10];    int score[100];    

int student[n] error!

 

内存本质:在内存中开辟一块连续的内存空间,存储数组元素

int score[5];

数组名 score:表示这一块内存空间的首地址,是一个地址常量

后面5个单元的内存空间大小:数组元素个数* sizeof(数据类型), 5*4=20

 

宏常量和数组的组合运用:

#define LENGTH  10

char str[LENGTH+1];

 

#define N  3

int a[N];

 

引用一维数组:

数组定义好后,就可以使用数组,但是只能引用数组元素,而不能一次整体调用整个数组全部元素的值

 

引用数组元素的方法:数组名[下标]

数组元素使用数组名和下标形式确定,其功能和普通变量完全相同

比如,a[0]表示数组中的元素,普通变量可以做的工作,a[0]都可以完成

sum+=a[0];      a[0]=tmp+3;   a[0] *=2;

if(a[0]%2==0){printf("a[0] 是偶数!\n");}

 

引用数组元素的基本语法: 数组名[下标]

数组下标是整型常量或整型表达式,且 数组下标从0开始,最大下标为(数组长度-1)

比如,int a[10];  下标的取值范围是0-9之间,不存在下标是10的元素

再比如, int  a[5];

a[0] 表示第二个元素,a[1]表示第二个元素.. a[4]表示第五个元素

 

引用数组元素时,下标可以用变量表示,但定义数组时不可以:

int a[5]; 

int i=3;

printf("%d",a[i]);   //输出第四个元素

 

#include
#include

int main(void) {
	/*Input 10 numbers from console*/
	int a[10];
	printf("Please input 10 numbers:");
	for (int i = 0; i < 10; i++) {
		scanf_s("%d", &a[i]);
	}

	/*Print the 10 numbers*/
	for (int i = 0; i < 10; i++) {
		printf("%d ", a[i]);
	}
	printf("\n");

	/* Reverse sort*/
	for (int i = 9; i >= 0; i--) {
		printf("%d ", a[i]);
	}
	printf("\n");

	system("pause");
	return 0;
}

 

你可能感兴趣的:(C,Programming)