用在函数中
#include <stdio.h>
void fun(int* a, int len)
{
for(int i=0; i<len; ++i) {
/*printf("%d ", a[i]);*/ // 两种都可以
printf("%d ", *(a + i));
}
}
int main()
{
int temp[10] = {1, 3, 5, 7, 9};
fun(temp, 10); // print to 1 3 5 7 9 0 0 0 0 0
return 0;
}
指针大小
#include <stdio.h>
// 当数组作为函数得参数进行传递时,数组就自动退化为同类型得指针。
int GetSize(int data[])
{
return sizeof(data);
}
int main()
{
int data1[] = {1, 2, 3, 4, 5};
int size1 = sizeof(data1);
int* data2 = data1;
// 在 32 位系统上,对任意指针求 sizeof , 得到得结果都是 4。
int size2 = sizeof(data2);
int size3 = GetSize(data1);
printf("%d, %d, %d \n", size1, size2, size3);
}
在 32 位系统上,对任意指针求 sizeof , 得到得结果都是 4 。也就是说,任意指针大小都是 4 个字节