C++中什么是字符串,什么是字符字面值

说的通俗易懂点,不要全是专业术语看不懂,我是新手... 说的通俗易懂点 ,不要全是专业术语看不懂, 我是新手 展开
 我来答
慎重还可靠灬宝贝f
推荐于2017-10-13 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2530万
展开全部

  字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

  通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。


  字符串字面值是一串常量字符,字符串字面值常量用双引号括起来的零个或多个字符表示,为兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符。
字符串没有变量名字,自身表示自身

"Hello World!" //simple string literal
"" //empty string literal
"\nCC\toptions\tfile.[cC]\n" //string literal using newlines and tabs

  字符字面值: 'A' //single quote:character literal
字符串字面值: "A" //double quote:character string literal.包含字母A和空字符的字符串

留下痕迹的人生
推荐于2017-09-16 · TA获得超过513个赞
知道小有建树答主
回答量:305
采纳率:80%
帮助的人:204万
展开全部
例子1:
int main(){
char *p1 = "hello";
char *p2 = "hello";
if(p1 == p2){ // 如果p1与p2指向的地址相同
cout << "p1 = p2 " << endl;
}else{
cout << "p1 != p2" << endl;
}
}
打印结果是 "p1 = p2"

例子2:
int main(){
char *p1 = "hello";
char *p2 = "hellox";
if(p1 == p2){
cout << "p1 == p2" << endl;
}else{
cout << "p1!=p2" << endl;
}
return 0;
}
打印结果 “p1 != p2”

例子3:
int main(){
char str1[]="hello";
char str2[]="hello";
char *p1 = str1;
char *p2 = str2;
if(p1 == p2){
cout << "p1 = p2" << endl;
}else{
cout << "p1 != p2" << endl;
}
}
打印结果: "p1 != p2"

例子4:
int main(){
char str[]="hello";
char *p1 = str;
char *p2 = "hello";
if(p1 == p2){
cout << "p1 == p2" << endl;
}else{
cout << "p1 != p2" << endl;
}
return 0;
}

字符串是一个变量单位,字符字面值是一个字面值单位。
比如 int a = 5;
a是变量,5是字面值

char str[]="hello";
str 是字符串的变量,"hello" 是字符字面值
变量是一个存储容器,字面值是 存放在容器里的东西
变量是占内存空间,字面值是占容器空间

当这些没有变量的字符面值 就会统一放在 数据常量区,并且是唯一的存在
追问
p!是什么意思
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式