C语言sizeof问题

2024-12-01 02:36:13
推荐回答(5个)
回答1:

选Cchar字符是一个字节的,所以是1float是四个字节的,所以是4而int这个有点特殊,有2个字节,也有4个字节double是8个字节的,所以是8sizeof是这个类型所占用的字节数

回答2:

答案选C 在c语言中char int float double 分别占1 2 4 8 个字节大小.sizeof()是计算变量所占内存的大小

回答3:

你确定是14?
经测试
sizeof(STRING)
应该是字符串自身的大小
14没错
sizeof(STRING
+
n)
0<=n<=字符串的长度
大小一律
是4,这个好解释,做了+n运算之后STRING
+
n就是一个地址了,sizeof得到的是字符串指针的大小,所以是4字节

回答4:

宏被替换为后面的
也就是说sizeof(STRING+1)被替换为sizeof("Hello,world!"+1),严格来说这个都算语法错误,因为sizeof后面应该跟一个类型。所以默认的求得是字符串的长度,后面的会被忽略。

回答5:

int
2b+char
1b+float
4b
+char
[5]
5b
=
12b
联合体是指多个变量共享同一个起始地址。联合体的总字节数为占字节数最多的变量的字节数。
如该例中的char
u1[5]占了5byte比int
u2[2]多一个字节。