相关疑难解决方法(0)

字符数组的大小和字符指针的大小

我有一段C代码,我不明白该sizeof(...)函数是如何工作的:

#include <stdio.h>

int main(){
   const char  firstname[] = "bobby";
   const char* lastname = "eraserhead";
   printf("%lu\n", sizeof(firstname) + sizeof(lastname));
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,sizeof(firstname)是6,sizeof(lastname)是8.

bobby宽5个字符,宽eraserhead11个.我期待16.

为什么sizeof对于字符数组和指向字符的指针表现不同?

任何人都可以澄清吗?

c sizeof char

17
推荐指数
2
解决办法
5万
查看次数

标签 统计

c ×1

char ×1

sizeof ×1