Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么C+中的不同数据类型大小不同+; >,未签名char < /> >,未签名int >代码>,代码>双< /代码>,代码>字符串< /代码>,在运行 siZeOf(i)< />代码后,计算机给出了 siZeof(int /un签署int)=4的答案;sizeof(字符/无符号字符)==1;sizeof(字符串)==32。我最近学习了很多不同的教程,只是对这个结果感到非常困惑,有人声称unsigned int大小是8字节,类似这样的,真的让人困惑。。。。。 顺便说一下,我真的很困惑char和string之间的区别,当我声明string时,我说string mystring=“asd”。我还可以声明一个char mystring=“asd”。这也让人困惑,我只是一个初学者,希望有人能帮我找到正确的方向_C++_String_Char_Size_Primitive Types - Fatal编程技术网

C++ 为什么C+中的不同数据类型大小不同+; >,未签名char < /> >,未签名int >代码>,代码>双< /代码>,代码>字符串< /代码>,在运行 siZeOf(i)< />代码后,计算机给出了 siZeof(int /un签署int)=4的答案;sizeof(字符/无符号字符)==1;sizeof(字符串)==32。我最近学习了很多不同的教程,只是对这个结果感到非常困惑,有人声称unsigned int大小是8字节,类似这样的,真的让人困惑。。。。。 顺便说一下,我真的很困惑char和string之间的区别,当我声明string时,我说string mystring=“asd”。我还可以声明一个char mystring=“asd”。这也让人困惑,我只是一个初学者,希望有人能帮我找到正确的方向

C++ 为什么C+中的不同数据类型大小不同+; >,未签名char < /> >,未签名int >代码>,代码>双< /代码>,代码>字符串< /代码>,在运行 siZeOf(i)< />代码后,计算机给出了 siZeof(int /un签署int)=4的答案;sizeof(字符/无符号字符)==1;sizeof(字符串)==32。我最近学习了很多不同的教程,只是对这个结果感到非常困惑,有人声称unsigned int大小是8字节,类似这样的,真的让人困惑。。。。。 顺便说一下,我真的很困惑char和string之间的区别,当我声明string时,我说string mystring=“asd”。我还可以声明一个char mystring=“asd”。这也让人困惑,我只是一个初学者,希望有人能帮我找到正确的方向,c++,string,char,size,primitive-types,C++,String,Char,Size,Primitive Types,有人能帮我吗?C++最初是基于C语言的,它是一种紧跟硬件的语言。对于硬件来说,有很多不同大小的数据类型(字节、半字、单词等)是有意义的,所以C遵循这个是有意义的,这是C++继承的(也可以用来制作与硬件接近的程序)。 数据类型的大小取决于编译器及其目标硬件,并且在不同平台之间甚至在同一平台上的不同编译器之间可能有所不同。例如,在64位Windows系统上,使用Visual Studio时,long类型为32位(四个字节),而使用GCC时,long类型为64位(八个字节) 一般来说,你可以这么说 s

有人能帮我吗?

C++最初是基于C语言的,它是一种紧跟硬件的语言。对于硬件来说,有很多不同大小的数据类型(字节、半字、单词等)是有意义的,所以C遵循这个是有意义的,这是C++继承的(也可以用来制作与硬件接近的程序)。 数据类型的大小取决于编译器及其目标硬件,并且在不同平台之间甚至在同一平台上的不同编译器之间可能有所不同。例如,在64位Windows系统上,使用Visual Studio时,
long
类型为32位(四个字节),而使用GCC时,
long
类型为64位(八个字节)

一般来说,你可以这么说

sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)

<代码> siZoof(char)< P> C++标准对各种数据类型的大小非常开放;实现允许有很大的不同

作为规则的快速总结:

  • sizeof(char)==1

  • sizeof(char)对于数据类型的大小,您不必太担心。您可以始终使用
    sizeof()
    运算符始终检查数据类型的大小。没有必要,因为不同数据类型的大小取决于计算机和操作系统的类型。对于
    string
    char
    ,实际上string只是一个由一系列
    char
    组成的对象。因此,如果使用
    string
    声明字符串,该字符串将成为类
    string
    的对象。如果您使用
    char
    声明一个字符串(实际上声明为指针类型
    char*
    ),那么该字符串只是
    char
    类型的一系列字符。还可以使用数组声明字符串。例如
    char name[9]=Christina
    。因此,实际上有很多方法可以根据字符串的用途来声明字符串。但是字符串对象有更多的功能,所以它可以。有关字符串对象的更多信息,请查看。我希望这能有所帮助。

    我还可以声明一个char mystring=“asd”不,你不能。关于尺寸,为什么它们应该相等?有些大小取决于您的计算机、操作系统、编译器…谢谢!!这是一个打字错误,应该是这样的:char mystring[20]=“hello”;谢谢你的帮助,我只是对基本概念感到困惑,这真的需要时间。谢谢,现在很清楚了,我觉得电脑很棒!谢谢,这真的很有帮助。我刚开始,因为C++有时不是那么简单,它取决于这么多的概念。