C语言中数组名和数组下标

整理自《C陷阱与缺陷》。

数组注意点:
1.C数组中只有一维数组,数组的大小必须在编译期作为常数确定。但C数组的元素可以是任何类型的对象,当然也可以是另一个数组,所以“仿真”出一个多维数组。(不太明白为什么要强调只有一维数组,难道“模拟”出来的多维数组和真正的多维数组不一样?)
2.对于一个数组,我们只能够做两件事:确定该数组大小[sizeof(数组名)],以及获得指向该数组下标为0的元素的指针

数组名:

指向该数组下标为0的元素的指针。

数组下标:

任何一个数组下标运算都等同于一个对应的指针运算。
即a[i]=*(a+i)=*(i+a)=i[a] (后种写法绝不推荐)

例:

#include <stdio.h>
void main()
{
	int a[20]={0};
	*a=66;
	printf("a[0]: %d \n",a[0]);
	printf("0[a]: %d \n",0[a]);
	return;
}

结果为:

a[0]: 66
0[a]: 66

写法很有趣。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值