【二级指针】与【数组】

int main()
{

	const int x = 9;
	int br[x] = { 12,23,3,4,45,56,67, };//定义一个包含x个整型元素,数组名为br的整型数组。
	int* p = br;//声明p是一个整型指针,可以指向整型元素。所以用指针p指向br首元素的地址。


	int(*pbr)[x] = &br;
	//&br 是整个br数组的x个元素的地址。
	//先声明pbr是一个int型指针,然后开辟x个空间。
	//每个空间都是存放地址的,每个元素都是整型指针。

	for (int i = 0; i < x; i++)
	{
		printf("%d\n", *p);//证明这是正确操作。
		p++;
	}
	return 0;
}

int main()
{
	int a = 10, b = 20, c = 30, d = 40;
	const int n = 5;
	int* ar[n] = { &a,&b,&c,&d };//定义一个包含有n个整型指针元素(int *类型元素)且数组名为ar的整型指针数组。
	sizeof(ar);//这里的ar代表了ar整个数组的大小;
	printf("%d\n", sizeof(ar));//20
	int** s = ar;//声明s是一个二级指针,可以指向一个地址。
	//int** s = &ar[0];//*s = ar[0]  ,  ar[0] = &a  ,  *&a = 10
	int* (*p)[n] =&ar;//(*p)指向ar整个数组的地址
	printf("%d\n", sizeof(*p));

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值