C中的sizeof()运算符

时间:2014-06-27 18:06:00

标签: c arrays sizeof

所以我使用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'当我从一个单独的函数调用它时?

所有答案都表示赞赏:)

0 个答案:

没有答案