Loading... ### string: string是c++中标准库的类型,使用它需要加上头文件: #include< string> ### char *: char*是c中一个指向字符的指针,是C中的内置类型,它可以指向一个字符,也可以表示字符数组的首地址。 ### srring 和 char * 的区别: string的内存管理是有系统处理的,除非系统内存持用完,否则不会出现内存问题。 char *的内存管理是用户自己处理,很容易出现内存不足问题 ### 建议: 当我们要存储一个字符串,但是不知道它需要多少的内存,这时我们可以用C++中的string来定义字符串。 当我们知道存储字符串所需的内存,我们可以用c中的char *来定义字符串。 <div class="tip inlineBlock success"> 建议使用string定义字符串 </div> ### C代码举例: ```cpp #include<stdio.h> typedef struct { char name[10];//这里分配了内存 int age; }str; int main() { str student; scanf("%s", student.name); student.age = 19; printf("%s %d",student.name, student.age); return 0; } ``` ### C++代码举例: ```cpp #include<iostream> #include<string> using namespace std; typedef struct { string name;//这里没有分配内存 int age; }str; int main() { str student; student.name = "本当迷"; student.age = 19; cout << student.name << "今年" << student.age << endl; system("pause"); return 0; } } ``` 最后修改:2021 年 08 月 22 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。