C语言:一维数组

1. 一维数组的定义

类型名 数组名[常量表达式]

数组元素的下标从0开始计数,若定义a[4],则数组a中一共有4个元素,分别是a[0],a[1],a[2],a[3]

因为这些元素可以排列成一列,故称数组是一维的。

int a[4];
char name[10-1];
float x[3],y[5*2];

注意:数组名后面[ ]中是一个常量表达式,其中不允许含有变量。

如:int n=4;

       int a[n];

是错误的;

       int n;

       scanf("%d",&n);

       int a[n];

也是错误的。 

 2. 一维数组的元素构成

比如说a[4],里面含有a[0], a[1], a[2], a[3],这些都是变量。所以一维数组的元素是变量

3. 数组名的指针类型

数组名代表一个数组类型的对象,在以下三种使用场合,它都代表整个数组。

(1)测试整个数组的空间大小:sizeof(a)

(2)获取整个数组的指针:&a

(3)用字符串对字符数组初始化:char s[ ]="hello";

但除了上面3种场合意外,数组名若出现在其他地方,将不再代表整个数组,而是退化为一个只想数组首元素的指针,比如a+1,*(a-2)等,此时a就被用作一个指向变量a[0]的指针变量。

数组名被用作指针时,是一个指向数组首元素的指针。

4. 数组元素的表示方法

下标法:a[0],a[1],a[2]……

指针法:*a, *(a+1), *(a+2)……

5. 一维数组的引用

引用数组元素注意:

(1)使用数组元素可以用下标法或者指针法,例如a[3]、a[i]、a[2*i-1]、*(a+i+1)……

(2)每次只能使用数组中的一个下标变量。C语言中无法做到一次对两个以上的下标变量进行操作。不管是赋值,还是输入、输出,每次都只能操作其中一个下标变量。  

例:把5个数字输入到一个int a[5]的数组中去。

scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]);

或者:

for(i=0;i<=4;i++)
    scanf("%d",a[i]);

(3)使用数组元素时,下标不要越界。

比如说一个int a[5],内含a[0], a[1], a[2], a[3], a[4], 如果在程序中引用了a[5],那么就是越界了。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值