首页 > 试题广场 >

(C++部分)64位Linux系统里,下面几个sizeof的

[单选题]

(C++部分)64位Linux系统里,下面几个sizeof的运行结果是()

int intValue = 1024;

char str[] = “Vipshop”;

const char* ch = str;

a=sizeof(intValue) ;

b=sizeof(str);

c=sizeof(ch);

  • a=1,b=1,c=1
  • a=4,b=4,c=4
  • a=4,b=8,c=4
  • a=4,b=8,c=8
64位系统指针占8个字节
发表于 2020-08-31 20:03:38 回复(0)
解析如下:
题目提到是64位系统,所以指针占8个字节,得知sizeof(ch)=8
intValue为int值,占4个字节,得知sizeof(intValue)=4
str是char型数组,一个char占1个字节,这里str由“vipshop”和字符串结尾的'\0'组成,所以sizeof(str) = 7+1=8

注意:
32位的系统指针占4字节
注意sizeof和strlen的区别,sizeof会算字符串末尾的'\0',strlen不会
发表于 2022-03-28 16:16:12 回复(1)
<p>在64位系统中,指针占4个字节,而int不管在32位还是64位中都是4个字节</p>
发表于 2020-08-10 15:52:29 回复(2)
我是废物!看见指针就是4😅
发表于 2022-02-14 15:53:08 回复(0)
🤣
发表于 2021-06-14 13:38:45 回复(0)