(3)C++复合类型
存储数据时必须跟踪的三个属性:信息储存在何处,存储的值,存储的类型
一、数组
#include <iostream>
using namespace std;
int main()
{
//初始化赋值1
short a[];
a[] = ;
a[] = ;
a[] = ; //始化赋值2
short b[] = { ,, }; //始化赋值3,自己计算个数
short c[] = { ,, }; //没赋值的位置会初始化为默认0
short d[] = { }; //始化赋值4,省略等号
int e[] { ,, }; cout << e[] <<endl;
}
二、字符串
1.连续字符组成德字符串
C语言风格,末尾要加 \0
char a[] = { 'd','f','e','\0' };
如果末尾不加 \0 则继续打印内存随后的各个字节,直到遇见 空字符为止
char a[] = { 'd','f','e','\0' ,'n' };
cout << a <<endl;//如果打印a 得到dfe
cout << a[] << endl;//可以得到 n
2.字符串常量
char a[] = "abcde";
cout << a <<endl;//abcde
cout << sizeof(a) << endl;//数组的长度 6
cout << strlen(a) << endl;//字符串的长度 5
a[] = '\0';
cout << a << endl;//如果中间插入空字符,则程序只打印之前的字符
3.输入
(1)
int main()
{
char name[];
cin >> name; //cin使用空白(空格、制表符、换行)来确定字符串的结束为止,并自动在结尾添加空字符
cout << name << endl;//如果输入中加了空格,他只会打印之前的部分
}
而且cin不能防止输入多出20,超出后程序会引发异常

(2)getline()可以每次读一行
cin.getline(name,);//读取到指定为止,并且不受空白影响
三、string类
C++98标准添加了string类来扩展C++库
使用string 必须在头文件中包含
#include <iostream>
#include<string> //添加
using namespace std;
int main()
{
string str = "abc";
cout << str << endl;
}
四、结构
(1)
#include <iostream>
#include<string>
using namespace std;
int main()
{
struct Student
{
int age;
string name;
};
//初始化
Student stu = { ,"tom" };//等号可以省略
cout << stu.age << endl;
}
(2)结构数组
//初始化
Student stu[]{ {,"tom"},{,"mali"} };
//调用
cout << stu[].age << endl;
(3)结构中的位字段
指定占用特定位数的结构成员,使得创建与某个硬件设备上的寄存器对应的数据结构非常方便
加冒号
struct Card
{
int shanqu : ;//占用4bit
bool b : ;//
};
位字段通常用在低级编程中
(4)结构体指针
Student* p = &stu;
cout << p->age << endl;
五、共用体
VC++ 不能用此类型????实例化时报错
union Student1
{
int age;
string name;
};
六、枚举
enum Season
{
Spring, Summer, Autumn, Winter
};
Season season;
season = Spring;
可以赋值整数,默认为0
enum Season
{
Spring=, Summer=, Autumn=, Winter=
};
Season season;
season = Spring;
cout << season << endl;
七、指针和自由存储空间 八、指针、数组和指针算术
篇幅长,合并转移到新章 https://www.cnblogs.com/buchizaodian/p/11516266.html
九、类型组合
十、数组的替代品
1.模板类Vector
2.模板类array
(3)C++复合类型的更多相关文章
- 第54讲:Scala中复合类型实战详解
今天学习了scala的复合类型的内容,让我们通过实战来看看代码: trait Compound_Type1trait Compound_Type2class Compound_Type extends ...
- 实现在GET请求下调用WCF服务时传递对象(复合类型)参数
WCF实现RESETFUL架构很容易,说白了,就是使WCF能够响应HTTP请求并返回所需的资源,如果有人不知道如何实现WCF支持HTTP请求的,可参见我之前的文章<实现jquery.ajax及原 ...
- go语言 类型:基础类型和复合类型
Go 语言中包括以下内置基础类型:布尔型:bool整型:int int64 int32 int16 int8 uint8(byte) uint16 uint32 uint64 uint浮点型:floa ...
- C语言中的复合类型
复合类型 一.掌握的类型 1. 指针数组 int * arr[10]; //arr是一个数组,有10个元素,每个元素都是一个指针,即arr是一个指针数组 int a,b,c,d; arr[0] = & ...
- 学习C++.Primer.Plus 4 复合类型
本章介绍的有复合类型有: 数组. 字符串. 结构. 共用体. 指针 数组: 声明数组时数组长度必须为常量(或const). 只有初始化时可以用“=”,其它时候均不可以给数组直接赋值,除了赋值的元素以外 ...
- C++Primer快速浏览笔记-复合类型
C++Primer2.3节介绍了两种复合类型:引用和指针 1.引用 引用并非对象,它只是为一个已经存在的对象所起的别名. 一旦初始化完成,引用将和它的初始值对象一直绑定在一起,不能重新绑定到另一个对象 ...
- Scala 深入浅出实战经典 第54讲:Scala中复合类型实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- struts复合类型传值(对象传值)
01:导包,配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version ...
- c++学习总结--复合类型,const。
复习c++,有必要对一些东西做一下笔记,方便以后学习,如有问题,欢迎提出. 首先,最常用两种复合类型应该是引用和指针. 所谓复合类型,是在基本类型基础(如:int)上定义的类型. 引用是c++的一个复 ...
- postgresql 函数 参数为复合类型
postgresql没有存储过程,但是函数功能很强大. 在近期开发的电商管理平台中,对于产品的类目管理,设计时有个属性字段,设为字符数组,但是EF不支持数组的操作,所以在添加和修改类目时,需要对属性的 ...
随机推荐
- Batch批处理中的 参数 路径和字符串 处理详解
1.截取字符串 截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符.举例说明其基本功能: @echo off set ifo=abcdefghijk ...
- printf ("%*.*s")
小数点.后“*”表示输出位数,具体的数据来自参数表printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”. 同样,小数点 ...
- 119、TensorFlow如何创建计算图
#Dataflow是并行化编程常用的方式 #当使用TensorFlow执行你的程序的时候有以下几个优点 #1.并行化 .通过声明的边来代表操作之间的依赖 # 对系统来说确定可以并行化的操作是比较容易的 ...
- 10. Jmeter-后置处理器一
jmeter-后置处理器介绍与使用一 今天我们先讲 CSS/JQuery Extractor JSON Extractor Boundary Extractor 正则表达式提取器 CSS/JQuery ...
- Digital Root 的推导
背景 在LeetCode上遇到这道题:Add Digits 大意是给一个数,把它各位数字相加得到一个数,如果这个数小于10就返回,不然继续 addDigits(这个相加得到的数). 题目很简单,但是如 ...
- JQuery实现页面跳转
$(function(){ var pn = $("#gotopagenum").val(); //#gotopagenum是文本框的id属性 location.hre ...
- python 装饰器 第一步:基本函数
# 第一步:基本函数 def eat(): print('吃饭') # 调用 eat()
- MongoDB Windows之ZIP安装
下载.下载地址同MSI下载地址:https://www.mongodb.com/download-center/community .Package选择Zip. 下载完成后解压到对应文件夹,该文件夹就 ...
- while语句基本练习(求和思想,统计思想)
A:循环结构while语句的格式: 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } B:执行流程: a:执行初始化语句 b:执行判断条件语句,看其返回值是true还是f ...
- python面试题之什么是Tkinter ?
TKinter是一款很知名的Python库,用它我们可以制作图形用户界面.其支持不同的GUI工具和窗口构件,比如按钮.标签.文本框等等.这些工具和构件均有不同的属性,比如维度.颜色.字体等. > ...