创建C ++中的字符串数组,你知道这五种方式吗?哪一种是最好的呢

在C和C ++中,字符串是一维字符数组,而在C中,字符串数组是二维字符数组。声明它们的方法有很多,这里提供了一些有用的方法。


1.使用指针:

实际上,我们通过创建指针数组来创建字符串文字数组。

C和C ++都支持此功能。

字符串数是固定的,但不是必须的。可以省略4,编译器将计算正确的大小。

这些字符串是常量,不能更改其内容。由于字符串文字(字面意思是带引号的字符串)存在于内存的只读区域中,因此我们必须在此处指定“ const”,以防止可能导致程序崩溃的不必要访问。


2.使用2D阵列:

当所有字符串的长度已知并且需要特定的内存占用空间时,此方法很有用。字符串空间将在单个块中分配

C和C ++均支持此功能。

字符串数和字符串大小都是固定的。同样,可以忽略4,而编译器将计算适当的大小。但是,必须指定第二维(在这种情况下为10),以便编译器可以选择适当的内存布局。

每个字符串都可以修改,但会占用第二维给出的全部空间。每个都将在内存中紧挨着布置,并且不能更改大小。

有时,需要控制内存占用量,这将分配具有固定规则布局的内存区域。


3.使用字符串类:

STL字符串类可用于创建可变字符串数组。在这种方法中,字符串的大小不是固定的,并且可以更改字符串。

仅C ++支持此功能,因为C没有类。

数组的大小是固定的,但不是必须的。同样,此处的4可以省略,编译器将确定数组的适当大小。字符串也是可变的,允许对其进行更改。


4.使用向量类:

STL容器Vector可用于动态分配大小可变的数组。

这仅在C ++中可用,因为C没有类。请注意,此处的initializer-list语法需要支持2011 C ++标准的编译器,尽管您的编译器很有可能支持,但需要注意。

向量是动态数组,可让您随时添加和删除项。

向量中可以使用任何类型或类,但是给定的向量只能包含一种类型。


5.使用数组类:

STL容器数组可用于分配固定大小的数组。它的用法可能与矢量非常相似,但是大小始终是固定的。

仅在C ++中支持此功能。

笔记:

这些绝不是构成字符串集合的唯一方法。C ++提供了几个容器类,每个容器类都具有不同的权衡和功能,所有这些容器类的存在都是为了满足您在项目中的要求。探索并享受乐趣!

结论:在所有方法中,Vector似乎是在C ++中创建字符串数组的最佳方法。

点击下方了解更多链接,领取学习资料及教程






4617作文网公司起名金字含水和木男孩起名大全男宝宝起名梁周公解梦梦见老爸有外遇周公解梦大全查询免免费起名吉凶测试评分姓曲起名字男生刘与徐怎么起名周公解梦梦见买新房姓楚 起名免费起名字网免费测名字打分薛字起名男孩名字大全周公解梦梦见头发脱落崔字起名男精灵梦叶罗丽游戏破解版周易起名注册结合父母姓氏起名梦幻手游破解版单机版鼠年宝宝起什么名称好免费算命四柱姓陈女幼儿起名字外贸公司起名的如何给包子店起一个好名字女孩起名十三画的的字9月15日八字算命周公解梦解梦起名何姓周公解梦猫胥姓怎么起名八字算命几岁结婚淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男子给前妻转账 现任妻子起诉要回网友建议重庆地铁不准乘客携带菜筐月嫂回应掌掴婴儿是在赶虫子重庆警方辟谣“男子杀人焚尸”国产伟哥去年销售近13亿新的一天从800个哈欠开始男孩疑遭霸凌 家长讨说法被踢出群高中生被打伤下体休学 邯郸通报男子持台球杆殴打2名女店员被抓19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警两大学生合买彩票中奖一人不认账德国打算提及普京时仅用姓名山西省委原副书记商黎光被逮捕武汉大学樱花即将进入盛花期今日春分张家界的山上“长”满了韩国人?特朗普谈“凯特王妃P图照”王树国3次鞠躬告别西交大师生白宫:哈马斯三号人物被杀代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了房客欠租失踪 房东直发愁倪萍分享减重40斤方法“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火手机成瘾是影响睡眠质量重要因素考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼网友洛杉矶偶遇贾玲呼北高速交通事故已致14人死亡西双版纳热带植物园回应蜉蝣大爆发男孩8年未见母亲被告知被遗忘张立群任西安交通大学校长恒大被罚41.75亿到底怎么缴沈阳一轿车冲入人行道致3死2伤奥运男篮美国塞尔维亚同组周杰伦一审败诉网易国标起草人:淀粉肠是低配版火腿肠外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万杨倩无缘巴黎奥运男子被猫抓伤后确诊“猫抓病”春分“立蛋”成功率更高?记者:伊万改变了国足氛围奥巴马现身唐宁街 黑色着装引猜测

4617作文网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化