C++语言中能用一个字符串给一个指针变量赋值吗?

 我来答
cdyzxy
推荐于2016-06-06 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3628万
展开全部
char *str; str="abc";这样的赋值实际上是把常量区的字符串"abc"的首地址赋值给了变量str
如果cout<<str<<endl;的话,由于cout接到了一个char *的变量,所以会自动按照输出字符串的方法输出;你如果想输出str中存放的地址要写:cout<<(uinsigned int)str<<endl;
追问
为什么不是cout<<*str
追答
因为str是指向字符型数据的指针,那么*str相当于str[0],是个字符型的数据,cout会输出这个字符,也就是字符串第1个字符。
牟珺法智菱
2019-05-06 · TA获得超过3463个赞
知道大有可为答主
回答量:3116
采纳率:29%
帮助的人:196万
展开全部
char
*str;
str="abc";这样的赋值实际上是把常量区的字符串"abc"的首地址赋值给了变量str
如果cout<<str<<endl;的话,由于cout接到了一个char
*的变量,所以会自动按照输出字符串的方法输出;你如果想输出str中存放的地址要写:cout<<(uinsigned
int)str<<endl;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
康妙隗亭
2019-10-16 · TA获得超过1305个赞
知道答主
回答量:1279
采纳率:93%
帮助的人:5.7万
展开全部
char
*str;
str="abc";这样的赋值实际上是把常量区的字符串"abc"的首地址赋值给了变量str
如果cout<
追问:
为什么不是cout<<*str
追答:
因为str是指向字符型数据的指针,那么*str相当于str[0],是个字符型的数据,cout会输出这个字符,也就是字符串第1个字符。
评论
0
11
加载更多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xth21
2014-03-31 · TA获得超过471个赞
知道小有建树答主
回答量:603
采纳率:55%
帮助的人:445万
展开全部
可以给字符指针赋值,例如
char* str="这是一个字符串";
这样写是可以通过编译的。
更多追问追答
追问
那要怎样输出这个字符串呢?通过指针
追答
cout<<str;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
有才windy
2014-03-31
知道答主
回答量:28
采纳率:0%
帮助的人:12.4万
展开全部
指针是地址
更多追问追答
追问
答非所问
追答
我刚刚学这门课,还不深
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式