# include <stdio.h> void printArray(int * pArr,int length){//确定一个数组需要:首元素的地址 和 数组的长度 for(int i=0;i<length;i++){ printf("%d ",pArr[i]); } } int main(void){ int arr[5]={1,2,3,4,5}; printf("arr=%#X\n",arr); printf("&arr[0]=%#X\n",&arr[0]); /** 以上程序说明了:数组名同数组第一个元素的地址相同 1.数组名相当于一个指针常量,它的值不能改变 2.这个指针变量中保存的是数组第一个元素的地址 */ printf("arr中第一个元素:%d\n",arr[0]); printf("arr中第一个元素:%d\n",*arr); printf("arr中第二个元素:%d\n",arr[1]); printf("arr中第二个元素:%d\n",*(arr+1));/** 访问数组中的元素有2种方法: 1:arr[1] 2:*(arr+1) arr是一个指针变量,并且arr=&arr[0], 则arr+1指向数组中第二个元素的地址,所以 *(arr+1)=arr[1] */ printArray(arr,5);//循环打印出该数组 return 0; }