数组名的含义

数组是我的在学习C语言中不可避免的一个章节,并且对代码有着不可获取的作用,那么数组名到底有什么含义呢?现在我就来向你浅浅的说明下把。

一、数组名的含义

数组名指首元素的地址


#include<stdio.h>
int main()
{
	int arr[] = { 1,2,3 };
	printf("%d", (*arr));
	return 0;
}

在这里插入图片描述
由上述代码可见,数组名字经过解引用打印,显示了数组第一个元素。

二、放在不同情况下数组名不同含义


//以下两条语句,大家知道数组名都表示什么意思吗?
                    sizeof(arr);
                    &arr;

这两条语句,是我们最常见数组名的例外,一般我们说数组名就是首元素的地址,但是在这两种情况除外,sizeof(arr)表示计算整个数组的大小;&arr表示取出整个数组的地址。

int main()
{
	int arr[] = { 1,2,3 };
	printf("%d\n", sizeof(arr));
    printf("----------------------\n");
	printf("%p\n", &arr+1);
	printf("%p\n", &arr );
	return 0;
}

在这里插入图片描述
你会发现他们这种情况下并没有表示首元素地址。

三、示例

int main()
{
//大家可以先判断一下结果,再看答案
//下图有解析
	char arr[] = { 'a','b','c','d','e','f' };
		printf("%d\n", sizeof(arr + 0)); 
		printf("%d\n", sizeof(*arr));
		printf("%d\n", sizeof(arr[1]));
		printf("%d\n", sizeof(&arr));
		printf("%d\n", sizeof(&arr + 1));
        printf("%d\n", sizeof(&arr[0] + 1));

	return 0;
}

在这里插入图片描述
以上就是数组名的含义,希望可以对大家有所帮助。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值