定义指向字符的常变量指针,并让其指向字符串"abc",然后将'a'修改为'z',并输出字符串
提示:
1、语句char * name =”abc”定义了常量字符串”abc”,类型是string literal,直接赋给char*类型的指针变量name有类型转换问题,C++11版本不进行隐含类型转换,并会告警。可以改为char * name =(char*)”abc”。
2、这样定义的字符串是常量,不允许修改。所以可改为:
char* const name=new char[4]{'a','b','c'};
name[3]='\0';
然后用cout直接输出name,则输出的是name指向的字符串
3、甚至有些编译器(如g++)不允许使用花括号为数组赋初值,则只能用赋值语句给每个元素赋值。
#include<iostream>
using namespace std;
int main()
{
char* const name = new char[4]{ 'a','b','c' };
name[3] = '\0';
name[0] = 'z';
cout << name;//cout<<*name输出的是name[0]
return 0;
}