【C语言提高34】数组指针变量的定义

方法1: 用数组类型 *:

     
void main()
{

	typedef int(MyArrayType)[5]; //本身相当于一级指针 数组嘛  给5个int的内存 起了一个MyArrayType的别名  int[5]本身就是一种数据类型
	int i = 0;
	//MyArrayType myArray;// 等价于 int myArray[5];  //用类型定义变量
	MyArrayType*pArray;//二级指针   //等价于 int* myArray[5]; //定义一个指针变量  这个指针变量 指向一个数组 (指向一块内存) 

	{
		int a;
		int* p = NULL;
		p = &a;
	}
	{
		MyArrayType myArray1;
		MyArrayType*pArray1 = NULL;
		pArray1 = &myArray1;
	}
	{
		int myArray2[5]; //相当于一级指针
		pArray = &myArray2;//相当于二级指针
		for (i = 0; i < 5; i++)
		{
			(*pArray)[i] = i + 1;
		}
		for (i = 0; i < 5; i++)
		{
			printf("%d",(*pArray)[i]); //(*pArray)一级指针       (*pArray)[i]对一级指针指向内存空间操作
		}
	}


	printf("\nhehhe");
	system("pause");
	return;
}

方法2: 用数组指针类型:

void main()
{
	int i = 0;
	//声明一个数组指针类型
	typedef int (*pMyArrayType)[5]; //给5个int*内存起了一个别名  数据类型就是固定内存块大小的别名
	pMyArrayType pArray;//告诉编译器 给我分配一个指针变量  这个指针变量可以指向5个int*内存空间

	int c[5];

	pArray = &c;
	for (i = 0; i < 5; i++)
	{
		for (i = 0; i < 5; i++)
		{
			(*pArray)[i] = i + 1;
		}
		for (i = 0; i < 5; i++)
		{
			printf("%d", (*pArray)[i]);
		}
	}
	printf("\nhehhe");
	system("pause");
	return;
}

方法3:直接定义数组指针变量:

//前两种都是通过类型定义变量的   先定义类型 在定义变量

void main15()
{
	int i = 0;
	//直接定义一个指向数组的 数组指针变量
	int(*pArray)[5];//定义一个指针变量 这个指针指向了一个数组  *pArray是一个指针  这个指针可以指向 5个int大小的内存块

	int c[5];

	pArray = &c;
	for (i = 0; i < 5; i++)
	{
		for (i = 0; i < 5; i++)
		{
			(*pArray)[i] = i + 1;
		}
		for (i = 0; i < 5; i++)
		{
			printf("%d", (*pArray)[i]);
		}
	}

	printf("\nhehhe");
	system("pause");
	return;
}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值