时间:2021-01-19 12:07:29 | 栏目:C代码 | 点击:次
今天的标题取得..好严肃的感觉。(小若:咳噗)
这章的内容虽然还是很详(lao)细(dao),但已经开始有很多值得记录的内容了~
那么,今天就来初次介绍数组与字符串…以及结构体..还有共用体..吧。
1.数组
我记得大四实习的时候,请教同事:“什么是属主?”(其实是和数据库相关的东西)
然后同事惊讶地说道:“啊,你连数组都不知道..这,基础还是要好好补补…呐,数组的意思呢,是这样的…”
我听着听着就不对劲,“等等,这是数组…其实我是问这个属主…”
然后同事松了一口气,估计心里在想,“唉,吓死我,我以为来了个浑水摸鱼的实习生了”。
等等,我好像跑题了。
那么,数组这么简单,我是不可能给大家介绍的了。
随便说说它的声明和初始化吧,如下代码:
代码里已经把大部分的情况都列出来了~
关于第3条的第二种,其实也是C++11的新特性。
最后,对于第6条这种的话,也是C++11的新东西,我个人不太喜欢~
这可能会让不熟悉C++的人觉得很生疏(比如别人只是迫不得已要看一段C++代码,结果出来了这句,可能会一下子蒙住)。
而其他的形式即使没有学过C++的人也能很轻易地知道这是在定义一个数组。(好吧,随便说说的)
2.字符串
字符串有两种,一种是C风格的字符串,另一种是string(可以说是一个类了)
C风格字符串和数组很像,如下代码:
这种风格的字符串就相当于char类型的数组了,但是它需要在最后加一个'\0'作为结束符(学过C的都知道喇)
我想,正常人都会使用第一种方式的(除非特殊情况?我还真不知道),”mutou”称之为字符串常量,后面会自动给数组补上一个'\0'符号的。
接着就是string字符串了,使用方式如下:
string在头文件string里,所以使用的时候要加上 #include <string>。
并且它属于命名空间std,所以也要加上std::
string字符串用起来很舒服,就像是本就该这么用的那种感觉~
如果使用C风格字符串,那么,复制字符串和连接字符串都会变得很麻烦(需要使用strcpy和strcat函数来完成)
3.原始字符串
还有一个比较有意思的字符串,叫做原始字符串。
我们都知道,字符串是用双引号来包围的,如果要在字符串中出现其他双引号,就要用转义字符\。
而使用原始字符串就可以避免这种麻烦,如下代码:
输出结果如下:
4.结构体
结构体应该算是类的前身吧~
比较简单,不多说了,随便看看:
好吧,不多说了~
5.共用体
人格分裂听过吗?
没听过吧~人格分裂就是好几个人的灵魂存在于同一个身体里,同时只能有一个灵魂在控制身体。(小若:瞎说~!)
C++也有这样的东西,那就是共用体,看代码:
输出结果是:
共用体和struct很像,唯一有一点区别,那就是,共用体里的属性只能同时存在一个。
比如刚刚的代码,虽然age在之前赋值为25,但是一旦给其他属性赋值,那么age的值将不被保留。
因为他们使用的是同一个空间,这点要记住。
因为共用体的所有属性都是使用一个存储空间的,所以共用体占内存的大小是以需要最大存储空间的成员为准的。
也许第一次听说共用体的人会迷糊,其实共用体可以想象成是一个变量有多个名字,我们可以用不同的名字去使用它们。
只不过,这不同的名字有着不相同的类型摆了。
6.结束
嗯,这本书实在是太详(lao)细(dao)了,第四章还在继续进行中。(小若:你觉得和你比起来,谁更唠叨?)