首页 > 试题广场 >

32位系统中char str[ ]= "Hello"; ch

[填空题]
32位系统中char str[ ]= "Hello";
char *p=str;
int n=10;
sizeof(str)=1
sizeof(p)=2
sizeof(n)=3
hello ,不是有一个空格吗?
发表于 2022-04-25 16:55:39 回复(1)
  • sizeof(str)即 字符串长度 + 结束字符‘\0’ = 5 + 1 = 6, 另外strlen(str)不统计结束字符 故 为 5。
  • sizeof(指针),无论数据类型,32位操作系统为4,64位操作系统为8。
  • 64位和32位系统中 int 占4个字节
发表于 2022-08-09 22:06:35 回复(0)
1,
2, sizeof(指针),其结果和操作系统有关,32位操作系统返回值4,64位操作系统返回值8。
3,int 占4个字节
发表于 2022-04-25 00:06:47 回复(1)
求解析
发表于 2022-04-16 20:14:38 回复(2)

在 32 位系统中:

  • sizeof(str) = 6, 因为 char str[] 存储了 "Hello" 字符串,其中包含 5 个字符和一个空字符。
  • sizeof(p) = 4, 因为 p 是指针,在 32 位系统中,指针的大小为 4 字节。
  • sizeof(n) = 4, 因为 int 类型在 32 位系统中长度为 4 字节。
发表于 2023-01-18 15:17:04 回复(0)
这个hello前面和后面到底有有没有一个空格?


发表于 2022-10-08 09:44:07 回复(0)
用sizeof会把'\0'也算上,所以是6
strlen不会算算上'\0'
发表于 2022-09-21 21:19:52 回复(0)
1.hello五个字符加\0一共6个字符
2.32位系统指针占4个字节,64位占8个字节
3.int占4字节
发表于 2022-08-09 21:26:24 回复(0)
2处需要考虑系统的位数,64位系统占8个字节,32位系统占4个字节
发表于 2022-08-08 10:37:25 回复(0)
malloc,free。注意野指针
发表于 2022-05-20 10:48:43 回复(0)
P是指针,32位下的所有指针都是4字节,因为sizeof不知道p指向一个数组还是仅指向一个元素,所以其指向未位置的数组大小无法确定。
发表于 2022-05-08 15:33:38 回复(0)