华工面试抽到了一题:
1.问C语言与C++ 字符串的区别:
当时一脸懵,完全忘记了。
看了博客:http://blog.csdn.net/tuolaji8/article/details/51362698
1.c语言里是没有string数据类型的,用的是CHAR数组,即是字符串数组,C++有String.
notice:只有以null字符结尾的字符数组才是C字符串,否则只是一般的C字符数组。
2.c的结尾有null,c++没有
3.c在定义时可用=,但之后不可以直接=赋值,对C字符串的操作需要通过"string"文件中定义的字符串处理函数。例如:而C++是可以的如String name="xiaoming";name="laowang";
//字符串的初始化chara[11] ="huanying";
//字符串的赋值strcpy(a,"nihao")
//获取字符串的长度,不包括'\0'在内strlen(a);
printf("%s",a);
4.在C中也可以使用字符指针来访问一个字符串,通过字符指针指向存放字符串数组的首元素地址来进行访问.
char*a ="nihao";
printf("%s",a);
5.在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作。以下是C字符串和C++中string的区别:










网友评论