C语言:数组传参深入理解

主要内容:
1.sizeof(数组名),计算整个数组的大小。`

	int arr[10] = { 1, 2, 3, 4, 5 };
	printf("%d\n", sizeof(arr));

C语言:数组传参深入理解_第1张图片

2.&数组名,取出的是数组的地址。(数组地址和数组首元素地址不同表现在各自地址都是首元素地址,但是各自加1后,前者跳过整个数组,后者跳过第一个元素)

    int arr[10] = { 1, 2, 3, 4, 5 }
	printf("%p\n", &arr+1);
	printf("%p\n", &arr[0]+1);

C语言:数组传参深入理解_第2张图片

除以上两种情况外,数组名都表示数组首元素的地址

void print(int *p)
{
	for (int i = 0; i <=5; i++)
	{
		printf("%d ", *(p + i));
	}
}
int main()
{
	int arr[10] = { 1, 2, 3, 4, 5 };
	print(arr);
	return 0;
}

C语言:数组传参深入理解_第3张图片

传入数组名表示传入首元素地址,因此用一个整形指针来接收,printf逐步打印数组内容。

你可能感兴趣的:(c语言,数组)