考虑这段代码(或者只是复制/粘贴并运行它):
#include <stdio.h>
int array[] = {1, 2, 3, 4, 5, 6, 7};
int my_put(int *array)
{
printf("Size of array %lu\n", sizeof(array));
return 0;
}
int main(int argc, char **argv)
{
printf("Size of array %lu\n", sizeof(array));
my_put(array);
return 0;
}
我的问题是:为什么 sizeof 函数会返回两个不同的值?为什么函数里的size是28,main
函数里是8 my_put
?