C/C++中的data type

在现代编程语言中,语言本身都支持一定的数据类型,称为built-in data type,也称为基本数据类型。语言中的数据类型实质上是为了便于告诉编译器应该在内存中分配多大的空间,以及运行对这个分配的空间进行什么样的操作。也就是说,对不同的数据类型,编译器会在内存中分配不同大小的空间,允许的操作也是不同。

  除了基本数据类型外,还可以定义抽象数据类型。所谓抽象数据类型,就是编译器本身不认识,而是通过读取头文件中所声明的信息来学着操作的那种数据类型。例如,用户自定义的各种类等就是属于这种抽象数据类型的。

    c++中的基本数据类型直接来自于c中的基本数据类型。它规定了各种基本数据类型能容纳的最大值和最小值的范围,然后编译器就会根据这些最大值,最小值规范,在内存中分配合适大小的足以容纳该范围中的所有数据的最小内存以表示这些值,这就是这些基本数据类型在内存中的实现。 基本类型的取值允许的范围在系统头文件limits.h 和float.h中声明了。

   c/c++中有4种基本数据类型:char int float double。  编译器在内存中为char至少开辟8bit的内存空间来存放其值,int是16bit, 。然后通过4个关键字short ,long, signed,unsigned放在这些基本类型前面,来改变这些基本类型的范围,也就是改变其语义。基本类型定义了该基本类型的取值范围从而确定了在内存中为了能表示该范围而应该至少分配的内存的大小,而关键字则说明了所分配的这些bit应该如何使用,即那些bit表示哪个含义。

   具体实现时,则只要能够满足上述语义就可以了,例如在一个64位的机器上(也就是以64bit为基本的内存分配单位的机器)可能short int,int,long int都分配了64bit,这样肯定能容纳上述语义定义的取值范围,甚至还有多余的空间。

   short ,long 可以用来放在int,float,double前面,而signed,unsigned只能放在char和int前面,但是也有一些限制。具体的说,只能有: float,double,long double; short int, int, long int; signed int, unsigned int; signed char, unsigned char;这几类,其它的都是非法的。

    

    signed ,unsigned告诉编译器是否把int/char的第一个bit看成符号位(faloat/double始终是有符号的,也就是说编译器始终将该类型的第一个bit看作符号位),如果第一个bit作为值的bit,那么就可以用来表示更大范围的非负数了。默认情况下,int是有符号的,char默认是无符号的,除非指定:signe d char。

 

 sizeof操作符可以用来查看某个数据类型在内存中所分配的内存空间的大小(以字节为单位),编译器为了确保各种基本类型的取值范围,可能在不同的os不同的machine上会分配不同大小的bits,所以在不同环境下,sizeof的值可能是不同的。

  short int ,int ,long int可以简写成:short, int, long。

s

要Linux配置VSCode的C/C++环境,可以按照以下步骤进行操作。 1. 首先,确保已经安装了gcc、g++和gdb这些必要的编译工具。可以使用以下命令安装: sudo apt-get install build-essential 2. 在VSCode安装C/C++扩展。打开VSCode,点击左侧侧边栏的扩展按钮,搜索并安装"C/C++"扩展。 3. 创建一个文件夹来存放代码。可以使用以下命令创建一个文件夹: mkdir mycode cd mycode 4. 在VSCode打开该文件夹。在VSCode,点击左上角的“文件”菜单,选择“打开文件夹”,然后选择刚刚创建的文件夹。 5. 在打开的文件夹创建一个名为".vscode"的文件夹。这个文件夹将用于存放配置文件。 6. 在".vscode"文件夹创建一个名为"c_cpp_properties.json"的文件,并将以下内容复制到文件: { "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 } 7. 在".vscode"文件夹创建一个名为"tasks.json"的文件,并将以下内容复制到文件: { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "gcc", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": "$gcc" } ] } 8. 完成以上步骤后,您的C/C++环境配置就完成了。您可以在VSCode编写和调试C/C++代码了。 请注意,这只是一种配置C/C++环境的方法,您也可以根据自己的需要进行自定义配置。同时,这里假设您已经安装了gcc编译器。如果您使用的是其他编译器,需要相应地修改配置文件的"compilerPath"和"args"字段。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux系统VsCode 配置C/C++环境](https://blog.csdn.net/qq_42911863/article/details/125619397)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [VSCode配置C/C++环境](https://blog.csdn.net/u011029104/article/details/131493805)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

walkingmanc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值