所以我使用sizeof()来确定数组的长度有点困难。为清楚起见,这是我的代码:
int main(){
char array[] = "Cats";
printf("The size of this array is: %i",sizeof(array));
}
正确地说,这是输出
The size of this array is: 5
当我尝试在函数中使用sizeof运算符,然后从main调用该函数时,我的问题就出现了。像这样:
void thefunct(char string[]){
printf("%i",sizeof(string));
}
和主要的电话:
int main(){
thefunct("Cats");
}
在这种情况下,它输出4,它是字符数组指针的字节大小。所以基本上,我的问题是:为什么会产生一个' 5'当我在main()中直接使用sizeof,但是' 4'当我从一个单独的函数调用它时?
所有答案都表示赞赏:)