c语言——指针与一维数组

/*
指针和一维数组
要访问另外一个函数中的数组,只需要知道这个数组的首地址和长度即可 
*/
#include<stdio.h>

void show_Array(int* p,int len)   //指针变量,长度;两个参数即可确定一个数组// 
{
	int i;
	for(i=0;i<len;i++)
	{
		printf("%d\t",p[i]);
	}
	
	printf("\n-------------------------------------\n");
	p[0]=-1;  //p[0]==*p//
	p[1]=-2;  //p[1]==*(p+1)==*(a+1)==a[1];	//
	p[2]=-3;
	p[3]=-4;
	p[4]=-5;
	//p[i]就是主函数中的a[i]// 
} 

int main()
{
	int i;
	int a[5]={1,2,3,4,5};
	int* p;
	show_Array(a,5);  //数组首元素是指针常量,保存数组的首地址// 
	
	for(i=0;i<5;i++)
	{
		printf("%d\t",a[i]);
	}
	
	printf("\n---------------------------------------\n");
	p=&a[0];    //a[i]是*(a+i)是一个不同变量,要赋给指针的取地址 
	printf("%p\t%d\t%d\n",p,*p,a[0]);
	p=&a[1];
	printf("%p\t%d\t%d\n",p,*p,a[1]);
	p=&a[2];
	printf("%p\t%d\t%d\n",p,*p,a[2]);  //int为4字节,a[i++]以4个字节为单位进行移动 
	
	return 0;
}



运行结果:
1       2       3       4       5
-------------------------------------
-1      -2      -3      -4      -5
---------------------------------------
000000000062FDF0        -1      -1
000000000062FDF4        -2      -2
000000000062FDF8        -3      -3

--------------------------------`


©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页