Code:
#include <stdio.h>
int foo(int *pA);
int foo2(int A[]);
int main(void)
{
int A[] = { 5, 7 };
int *pA = A;
printf("%d\n", sizeof(A));
printf("%d\n", sizeof(*pA)); // 其實我是第一個元素的大小
printf("%d\n", sizeof(*(pA + 1))); // 我是第二個元素的大小
printf("%d\n", foo(pA));
printf("%d\n", foo2(A)); // 其實我也是傳第一個指標過去而已
return 0;
}
int foo(int *pA)
{ return sizeof(*pA); }
int foo2(int A[])
{ return *(A + 1); }
Output:
8
4
4
4
7
沒有留言:
張貼留言