指针一维数组名的含义

本文探讨了指针与一维数组的关系,指出数组名a代表首元素地址,而&a表示整个数组的地址。a+1指向下一个元素,&a+1则跳过整个数组。数组元素的地址是连续的。
摘要由CSDN通过智能技术生成


&a[0]表示第一个元素变量的地址值

a表示数组第一个元素的地址

#include <stdio.h>

int main() {

	int a[5];       //a是数组名 
	//int b[3][4];
	int b[5];
	//a = b;   报错error   a是常量
//	printf("%lf\n", &a[0]);
	printf("&a[0]=%#X\n", &a[0]);
	printf("&a[0]+1=%#X\n", &a[0]+1);
	printf("&a[1]=%#X\n", &a[1]);

	printf("&a=%#X\n", &a);
	printf("a=%#X\n", a);
	printf("&a+1=%#X\n", &a+1);
	printf("a+1=%#X\n", a+1);
//	printf("%#X\n", 470812087);  //0X1C1005B7

	while (true){	}

}

 

可以看到虽然a和&a的地址是一样的,但是a+1的地址向后走了四个字节,也就是跳过了一个元素。所以a代表的是首元素的地址

&a+1可以看到和ar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值