C语言指针变量与数组

声明一个数组 int a[10];
数组名a不代表整个数组,只代表数组首元素的地址,且a是一个地址常量

所以当int *p=a[10]; 
*(p++);可以访问数组
a++不可以,常量不能自增

下面通过数组名作函数参数,证明数组名是个地址常量

#include <stdio.h>
#include <stdlib.h>
int main()
{   void fun(int arr[],int n);   
    int a[10]={1,2,3,4,5,6,7,8,9,0};
    fun(a,10);            //数组名作实参
    return 0;
}

void fun(int *arr,int n){     //以指针变量接收a(地址)
    int i=0;
    for(i;i<10;i++)
        printf("a[%d]=%d\n",i,*(arr++));
    }

在这里插入图片描述


版权声明:本文为weixin_45907018原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。