字符串指针初始化

char *a="china";等价于char *a;*a="china";
这错那了呵?

char *a="china";
等价于
char *a;
a="china";

char *a="china";
这个语句的释义是:
声明一个字符指针a,该指针指向常量区字符串"china"的首地址

而char *a;*a="china";这个是错误的,
*a标示的是一个字符值,*a="china";会产生一个字符串数据向致富数据赋值的error

注意区分声明时的初始化和普通的赋值语句
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-13
char*a;*a="china";改为a="china";可以看到a被定义为一个指针变量,指向字符型数据,注意它只能指向一个字符变量或其他字符类型数据。
第2个回答  2009-08-13
char* a;
a = "china";

*a表示a指向的一个字符本回答被提问者采纳
第3个回答  2020-06-28
char
*s="china";
等价于char
*s;
s="china";
这是两种赋初值的方法,第一种是在定义的时候赋初值,第二种是先定义,再在以后赋初值,它们的结果都上让指针s指向首地址,也就是指向了内容的第一个字母c~~好好看看c语言程序设计那本书~~
第4个回答  2019-05-08
任何时候,在字符串中,编译器将
\
与紧邻它之后一个字符连起来解释,并且只占一个char字节的长度。
\
也即楼上所说的转义符。
你可以试着输出一行:D:\baidu\http
就能体会
相似回答