欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-07 11:37:58
...
/*
指针和一维数组
要访问另外一个函数中的数组,只需要知道这个数组的首地址和长度即可 
*/
#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

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