C语言基础 -46 函数_函数与一维数组

普通数组

book@100ask:~/C_coding/CH02$ cat arr.c
#include 

int main()
{
	int i;
	int a[] = {1,3,5,7,9};

	for(i = 0; i < sizeof(a)/sizeof(*a);i++)
		printf("%d ",a[i]);   //要想打印数组,必须知道数组名。数组名对应的数组存储空间的首地址
	printf("\n");
}
book@100ask:~/C_coding/CH02$ make arr
cc     arr.c   -o arr
book@100ask:~/C_coding/CH02$ ./arr
1 3 5 7 9 
book@100ask:~/C_coding/CH02$ cat arr.c
#include 

void print_arr(int *p)
{
	int i; 
	printf("%s:%d\n",__FUNCTION__,sizeof(p));   //此处接收的是指针,由于是64位系统,因此此处对应的数组sizeof(p)对应的是8个字节。
}

int main()
{
	int a[] = {1,3,5,7,9};
	printf("%s:%d\n",__FUNCTION__,sizeof(a));  //__FUNCTION__用于获取函数名
	print_arr(a);
}


book@100ask:~/C_coding/CH02$ make arr
cc     arr.c   -o arr

book@100ask:~/C_coding/CH02$ ./arr
main:20     // 因为数组a有5个元素,每个元素占用4字节的空间,因此此处输出为20
print_arr:8   
book@100ask:~/C_coding/CH02$ cat arr.c
#include 

void print_arr(int *p,int n)
{
	int i; 
	pr

你可能感兴趣的:(Linux,C编程)