C++语言中能用一个字符串给一个指针变量赋值吗?
展开全部
char *str; str="abc";这样的赋值实际上是把常量区的字符串"abc"的首地址赋值给了变量str
如果cout<<str<<endl;的话,由于cout接到了一个char *的变量,所以会自动按照输出字符串的方法输出;你如果想输出str中存放的地址要写:cout<<(uinsigned int)str<<endl;
如果cout<<str<<endl;的话,由于cout接到了一个char *的变量,所以会自动按照输出字符串的方法输出;你如果想输出str中存放的地址要写:cout<<(uinsigned int)str<<endl;
追问
为什么不是cout<<*str
追答
因为str是指向字符型数据的指针,那么*str相当于str[0],是个字符型的数据,cout会输出这个字符,也就是字符串第1个字符。
展开全部
char
*str;
str="abc";这样的赋值实际上是把常量区的字符串"abc"的首地址赋值给了变量str
如果cout<<str<<endl;的话,由于cout接到了一个char
*的变量,所以会自动按照输出字符串的方法输出;你如果想输出str中存放的地址要写:cout<<(uinsigned
int)str<<endl;
*str;
str="abc";这样的赋值实际上是把常量区的字符串"abc"的首地址赋值给了变量str
如果cout<<str<<endl;的话,由于cout接到了一个char
*的变量,所以会自动按照输出字符串的方法输出;你如果想输出str中存放的地址要写:cout<<(uinsigned
int)str<<endl;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char
*str;
str="abc";这样的赋值实际上是把常量区的字符串"abc"的首地址赋值给了变量str
如果cout<
追问:
为什么不是cout<<*str
追答:
因为str是指向字符型数据的指针,那么*str相当于str[0],是个字符型的数据,cout会输出这个字符,也就是字符串第1个字符。
评论
0
11
加载更多
*str;
str="abc";这样的赋值实际上是把常量区的字符串"abc"的首地址赋值给了变量str
如果cout<
追问:
为什么不是cout<<*str
追答:
因为str是指向字符型数据的指针,那么*str相当于str[0],是个字符型的数据,cout会输出这个字符,也就是字符串第1个字符。
评论
0
11
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以给字符指针赋值,例如
char* str="这是一个字符串";
这样写是可以通过编译的。
char* str="这是一个字符串";
这样写是可以通过编译的。
更多追问追答
追问
那要怎样输出这个字符串呢?通过指针
追答
cout<<str;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针是地址
更多追问追答
追问
答非所问
追答
我刚刚学这门课,还不深
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询