问题如题,代码中有注释
#include
#define SIZE 4
int sum(int marbles1[], int n);
int main(void)
{
int answer;
int marbles[SIZE] = {20,10,30,40};
printf("The size of marbles is %u bytes.\n", sizeof marbles);
answer =sum(marbles, SIZE);//调用函数
getch();
return 0;
}
int sum(int marbles1[], int n)//如果此处marbles1是指向首元素地址的指针,主函数体中的调用函数中的marbles参量也应该是指针,为什么主函数体中的marbles占字节大小是16----即被认成了整个数组包含了4个整数
{
int i;
int total = 0;
for(i =0;i <n; i++)
total += marbles1[i];
printf("The size of marbles1 is %u bytes.\n", sizeof marbles1);
return total;
}//以上两个数组名一个marbles,一个marbles1一个结果是16,一个是4;我就想知道,数组名什么时候把它认成指向首元素的地址,什么时候把它认成代表整个数组?