#include<stdio.h>
#include<string.h>
void func(int a[])
{
printf("数组大小=%d.\n",sizeof(a));
}
void func1(int *a)
{
printf("数组大小=%d.\n",sizeof(a));
}
int main(void)
{
int a[20];
func(a);
#include<string.h>
void func(int a[])
{
printf("数组大小=%d.\n",sizeof(a));
}
void func1(int *a)
{
printf("数组大小=%d.\n",sizeof(a));
}
int main(void)
{
int a[20];
func(a);
func1(a);
}
运行结果为:
数组大小8
数组大小8
分析:函数形参是数组时,实际传递的不是整个数组,而是数组首元素首地址,即是函数参数用数组来传递时,实际相当于传递的是指针,
指针指向数组首元素首地址。