(第四章)C风格字符串和string类里的字符串的区别 动态创建数组

C风格字符串和string类里的字符串的区别:

一、string字符串声明时候是没有固定长度,是变长字符串,根据赋值编译器会动态调整长度,一般的c字符串其实就是char类型字符数组,定义时候必须声明长度,如char[max_length]。还有区别是c字符串以‘/0’字符结尾,所以一个长度定义为max_length字符串最多能存储max_length-1个字符。

二、string类是标准库的类,并不是内置类型,标准库就像是我们自己定义的类差不多的。如果需要用string类给C风格字符串赋值的话,后面是需要添加'\0'。

三、处理string类时,要含有头文件#include<string>,而处理C风格字符串时,要含有头文件#include<cstring>,且可以用相应的标准库函数。

四、从表中输入设备中输入:

从标准输入设备读入一个string 类型字符串的程序段:

string str;

cin >> str;

从标准输入设备读入一个C 风格字符串可如下实现:

const int str_size = 80;

char str[str_size];

cin >> str;

或用动态分配数组大小:

const int str_size = 80;

char *str;

str=new char[const int str_size];

cin>>str;

............

delete[]str;

所以C风格字符串的程序需要自己管理内存的分配和释放,而string类型的程序由系统自动进行内存的分配和释放,所以使用C风格字符串的程序要简短,速度快点。

 

 

创建动态数组:

1.在动态分配数组时,只需指定类型和数组长度,不必为数组对象命名。

2.new表达式返回指向新分配数组的第一个元素的指针

3.new要与delete配对使用:释放数组时要使用delete[]+数组名。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值