char、string区别

char型存放在栈空间,而string类型存放在堆空间。

1、堆和栈的区别:

堆:用户级的内存分配,分配的内存要手动进行释放,否则会造成内存的泄露。例如malloc/free(c语言)、new/delete(c++)

栈:系统及的内存分配,是FIFO结构,内存始终连续出现无碎片。例如局部与自动变量

堆的大小远远大于栈

2、动态数组

int *p=new int [5]; delete [] p;

数组有三个重要的限制:长度固定不变、编译时必须知道长度、只能在定义的块语句中存在。因此产生了动态数组。

const对象的动态数组:必须进行初始化,所以这样的数组是没有太大用处的。

charstring都是C++中用于表示字符串的数据类型。他们之间有一些区别char是一个字符类型,用于表示单个字符。例如,我们可以使用char变量来存储一个字母或一个数字。例如,char letterOne = 'A';表示存储字母'A'的char变量。但是,char变量不可以直接存储字符串。例如,char letterTwo = "A";是错误的写法,因为char变量只能保存一个字符。 string是一个字符串类型,用于表示一串字符。我们可以使用string变量来存储任意长度的字符串。例如,string str = "Hello World!";表示存储字符串"Hello World!"的string变量。 在处理字符串时,我们可以使用一些函数来操作charstring。 1. strstr()函数是一个C++库函数,用于在一个字符串中查找子串。比如,我们可以使用strstr()函数来查找子串在字符串中第一次出现的位置。例如,char str1[] = "abcdefg"; char str2[] = "ced"; char* p1 = strstr(str1, str2); cout << p1-str1 << endl;会输出子串"ced"在字符串"abcdefg"中第一次出现的位置。 2. string类也提供了一些成员函数来操作字符串。例如,string类的substr()函数用于从字符串中提取子串。 综上所述,charstring都是用于表示字符串的数据类型,但在使用上有一些区别char是单个字符类型,而string是字符串类型,并且提供了更多的字符串操作函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值