C++复合类型

数组array

1 数组结构

数组声明应该有以下三点:
{
存储在每个元素中的值的类型;
数组名;
数组中的元素个数;
}
即:

 typeName arrayName[arraySize] 

arraySize 必须时整型或者const值,也可以是常量表达式(8*sizeof(int))

2 数组使用

int yam[3]={1,2,3};

在该数组中

yam[0]=1;

3 数组使用规则

数组只能在定义时初始化;
不能将图个数组赋给另一个数组;

int yam[3];
yam[3]={1,2,3}
int hand[3];
hand=yam;

这种写法是错误的。

字符串数组

1字符串数组结构

char stringName[stringSize];
char dog[11]="Mr. Cheeps";

字符串包含后面的空字符,没有空字符不是字符串。
”s"表示字符串s 和\0 两个字符
's'表示ASCII 83的另一种写法。

strlen[stringName];
sizeof[stringName]

第一句求字符串的长度,第二句求的是数组的长度,包括空字符。

2 字符串数组的输入

面向行的输入:getline()

getline()读取整行,通过回车来结尾。

cin.getline(charName, cinSize);

面向行的输入:get()

cin.get(charName,Arsize);

getline()不再读取并丢弃换行符,get()将换行符留着输入队列中

cin.get(charName,Arsize).get();

字符串string类

要使用string 类,头文件必须包含string。

using namespace std;
std::string;

string 类的结构

string str;
string str1="panther"

string类的赋值和拼接、附加

不能将一个数组赋给另一个数组,但是可以将一个string对象赋给另一个string对象。

赋值

string str1;
string str2 {"panther"};
str1=str2;

拼接

string str3;
str3=str1+str2;
str1+=str2;
strpy(str1,str2);

注意此时str3和str1的值相等。

求字符串长度方法

int len1=str1.size();
int len2=strlen(str1);

结构简介

结构声明

struct structName
{
结构体成员
};

结构体在外部声明,可以用在文件的所有函数中。
局部声明只能用在该函数中。

创建结构数组,结构变量及结构指针

structName arrayName[arraySize]
structName typeName i;
sturctName *p;

枚举

enum spectrum{red,orange,yellow, green,blue}

指针

指针是一个变量,其存储的值是地址,而不是值本身。地址运算符&。
*运算符是间接值或解除引用运算符。
假设p是一个指针,*p指的是,在指针p所指向的地址里存储的值。
*p与常规Int等价。

声明和初始化指针

指针声明必须指定指针指向的数据的类型。

typeName * pointerName;
int * ptr;
char* str;

表示这个指针指的地址存储的是什么类型的值.
注意:一定要在对指针应用解除引用运算符*之前,将指针初始化为一个确定的,适当的地址。

指针赋值

应将内存地址赋给指针。可以对变量应用&运算符,来获得被命名的内存的地址,new运算符返回未命名的内存的地址:

double *pn;
double* pa;
char* pc;
double bubble=3.2;
pn=&bubble;
pc=new char;
pa=new double[30]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 计算机与C++编程简介 C++程序6个阶段编程 ->预处理->编译->连接->装入->执行1.程序在编译器...
    rogertan30阅读 9,710评论 0 1
  • ^函数重载的匹配: 当函数名被重载后,函数的匹配过程:首先寻找能精确匹配的函数,如果未能精确匹配,则尝试...
    鲁大帅阅读 4,683评论 0 1
  • 星星掘金云究竟是什么 低成本快速获取精准客户 传统企业及互联网从业者获客难啊 1,传统行业获客成本居高不下 2,企...
    张小坤_e3c9阅读 1,404评论 0 0
  • 街角有家开了十几年的老店,专卖包子,专卖肉包子。近来去了好几次。每次去我都能呼啦啦地吃掉一笼包子,再呼啦啦喝完一大...
    倪小七阅读 3,693评论 4 6
  • 我们总是觉得有时候时间过的快,有时候时间过得很慢。 比如,放假前的那两节课。 初中的时候,我在外地寄宿学校上学,那...
    布谷娘阅读 3,328评论 0 0