C++基础之变量和数据类型

C++是一种静态类型的编程语言,变量和数据类型是c++中较为重要的概念

1.变量:

变量用于存储数据的内存位置,可以通过变量名进行访问和操作。在使用变量之前,需要先声明变量并指定变量的数据类型。

变量名是由字母、数字和下划线组成,不能以数字开头,并且区分大小写。

变量声明包括类型和变量名,如int num;表示声明了一个名为num的整型变量。

2.数据类型:

c++提供了多种数据类型,用于存储不同类型的数据。

基本数据类型也就是c++语言本身提供的数据类型,包括整型、浮点型和布尔型等。

整型变量用于存储整数值,如 int 、short、long 等。其所占内存字节分别是4、2、4/8。为什么long类型所占字节有两个不同的值呢?是因为long类型在不同的系统中所占的字节数是不一样的,其在32位系统中所占字节为4,在64位系统中所占字节为8。

浮点型,用于存储带有小数的数值,如 float、double等。浮点数一般由两部分组成:尾数和指数。其中,尾数表示实际存储的数字,指数表示权重,用于控制小数点位置和数值的大小。但是也可以拥有符号位,以表示负数。浮点型之所以会叫浮点型的原因之一就是小数点会浮动,搭配指数部分之后,其小数点会浮动到其适宜的位置。在C++中,float和double都是浮点数类型。它们之间的区别在于所占用的存储空间和有效数字的位数。float通常占用4字节(32位)的存储空间,可以保留6-7位有效数字,范围约为±3.4e-38 ~ ±3.4e。double则通常占用8字节(64位)的存储空间,可以保留15-16位有效数字,范围约为±1.7e-308 ~ ±1.7e+308。

字符类型:用于存储字符类型的数据。C++提供了char和strng类型,用来表示字符。其中char只能表示单个字符,在内存中占用1字节的大小。可以存储ASCII码表中的字符,包括大小写字母、数字和特殊符号等。通常使用单引号声明 ' '。string是一个字符串类型,它可以存储由多个字符组成的字符串。通常使用双引号“ ”表示。string类型在内存中的大小是动态分配的,可以根据需要扩大和缩小。

布尔型:即bool类型,用于存储true和false。其所占字节大小为1字节。

下面是C++的派生数据类型:包括指针、数组、结构体和类;

指针:用于存储变量的地址,也就是说指针是一个变量,但是这个变量的值是其所指向的变量的地址。新手对于指针可能会非常困惑,主要是指针涉及到两个地址,一个是指针本身的地址,另一个是指针所指向的变量的地址,这两个地址是不同的概念。

声明一个指针,如下:

int num = 0;

int* a = #

如上,就成功的创建了一个指针a,其指向一个int类型的变量num。由此我们就可以通过解引用符*来对num这个类型进行我们想要的操作了。如果不用解引用符*,我们操作的就是指针本身,不会改变num这个值。

值得一提的是,指针的类型必须和其所指向的变量一致,否则就可能出现问题。

数组类型:用于存储一组相同类型的元素,如 int arr[5] 就表示声明了一个含有五个整形的数组。如果只声明不赋值,数组中的元素的值是C++ 所规定的默认值。当然我们也可以不给数组确定的大小,比如 int arr[ ] = { 0 }; 就表示我们创建了一个拥有若干个元素的数组,并将所有元素的值初始化为0。

结构体(struct):用于封装多个不同类型的变量。结构体的每个成员可以是不同的数据类型,如整数、浮点数、字符、数组等。

定义结构体的语法如下:

struct StructName {
    DataType1 member1;
    DataType2 member2;
    ...
} object1, object2, ...;

其中,StructName是结构体的名称, DataType1 、DataType2 是结构体成员的数据类型,member1、member2 是结构体成员名称。

定义结构体后,可以定义多个结构体变量,如 object1、 object2 等。

类(class):用于创建对象、包含成员变量和成员函数,是面向对象的基础。

枚举类型:用于定义一组相关的命名常量。

如 : enum color{ RED 、GREEN、BLUT};表示定义了一个名为color的枚举类型,包含三个常数值。枚举类型是自增的,就是说此时RED = 0 、GREEN = 1、BLUE = 2。而如果我们将RED初始化为5,GREEN和BLUE的值则分别为 6 和 7。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值