c/c++(疑5) 说了那么多,来试一试最简单的

</pre><h1>以最简单的一维数组说明:</h1><pre class="cpp" name="code">#include <stdio.h>
#include <stdlib.h>

void main()
{
	int arr[] = {1,3,5};
	//一般数组赋值
	int arr1[3];
	for (int i =0; i < 3; i++)
	{
		arr1[i] = arr[i];//这个没什么好说的了
		printf("arr1[i] =%d\n", arr1[i]);
	}
	//指针数组赋值
	int *arr2[3];//指针数组,说明了,指针指向一个数组,和arr类型匹配了
	for (int i =0; i < 3; i++)
	{
		arr2[i] = &arr[i];
		printf("arr2[i] =%d", *(arr2[i]));
		printf("*(arr2 + i) = %d\n", **(arr2 + i));
	}
	
	const int *p;
	int const *p1;
	int (*p3)[3];//数组指针

	p3 = &arr;//数组整体大小空间
	for (int i =0; i<3; i++)
	{
		printf("------p3 =%d\n", **(p3++));//越界
	}
	//printf("&arr =%d------", &arr);
	//printf("arr =%d\n", arr);
	
	p = arr;
	for (int i =0; i<3; i++)
	{
		printf("%d\n",*p++);
	}
	//int *const p2;//指针本身值不能改变,未初始化报错
	int *const p2 = arr;
	//printf("%d\n",*p2);

	/*for (int i=0; i < 3; i++)
	{
		printf("%d\n",*p2++);//p2 不可改变,所以懂了撒
	}*/
	system("pause");


数组和 指针几种常用形式

#include <stdlib.h>
#include <stdio.h>

void main()
{
	int arr[] = {1,2,3,4,5,6};
	int *ptr;

	ptr = arr;
	for (int i =0; i < 6; i++)
	{
		printf("*(ptr + i) = %d,*(arr+i) = %d\n", *(ptr+i),*(arr + i));
	}
	for (int i =0; i < 6; i++)
	{
		printf("*ptr++ = %d,,arr[i] = %d\n", *ptr++,arr[i]);
	}

	system("pause");
}


指针修改数组

#include <stdlib.h>
#include <stdio.h>

void main()
{
	int arr[] = {1,2,3,4,5,6};
	int *ptr;

	ptr = arr;
	//指针去修改数组值
	for (int i =0; i < 6; i++)
	{
		*(ptr+i) = 15;//最重要还是这句ptr = arr; 就是说你可以使用ptr 替换arr
		printf("*ptr++ = %d\n", *ptr+i);
	}

	system("pause");
}


c/c++ (疑1)数组和指针

c/c++(疑2) const extern

c/c++(疑3) C语言指针与数组之间关系

c/c++(疑4) 指针数组和数组指针之间关系



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值