第四章 复合类型

第四章 复合类型

字符串

读取一行字符

getline():读取整行,遇到换行符,输入结束。(不保留换行符)
第一个参数:存储输入的数组名称
第二个参数:要读取的字符数

get():读取整行,遇到换行符,输入结束。(保留换行符)
第一个参数:存储输入的数组名称
第二个参数:要读取的字符数

cin.get(nam, Arsize);
cin.get();//读取第一行的换行符
cin.getline(dessert, Arsize);

string类

char charr1, charr2;
string str1, str2, str3;

赋值

strcpy(charr1, charr2);
str1 = str2;

拼接

strcat(charr1, charr2);
str3 = str1+str2;

附加

strcat(charr1, "paste");
str1 += "paste";

结构体

同一结构体可以存储多种类型的数据
声明

struct test
{
	char name[20];
	double price;
};

定义

test t={"zhangsan", 89.45};

共用体

能够存储不同类型的数据,但只能同时存储其中的一种数据类型。
声明

union one4all
{
	int int_val;
	long long_val;
	double doubel_val;
};

定义和使用

one4all pial;
pial.int_val = 15;
cout << pail.int_val;
pail.double _val = 1.38;
cout << pail.double_val;

枚举

声明

1.显示生命力所有值

enum bits {one = 1, two = 2, four = 4, eight = 8};

2.显示声明一部分值、

enum bigstep {first = 1, second = 100, third};

first默认为0,third为前一个数加1

3.创建多个值相同的枚举

enum {zero, null = 0, one, numero = 1};

指针

1.new 分配内存

int *pn = new int;

2.delete 释放内存

delete pn;

note:一定要配对的使用new和delete,否则将发生内存泄漏(被分配的内存再也无法使用)

3.创建动态数组

int *psome = new int [10];
delete [] psome;//[]:释放整个数组,而不是指针指向的元素

rule:
不要使用delete来释放不是new分配的内存
不要使用delete释放同一内存两次
如果使用new[]为数组分配内存,则应使用delete[]来释放

4.使用动态数组
psome[i]:第i个元素

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值