在C语言中并没有字符串类型,如果想要给定字符串,有两种初始化方法:
1.使用字符数组
例如:
char name1[] = "小明";
2.使用字符指针
例如:
char *name2 = "小明";
在VS2017中使用第一种方法初始化字符串,当然是可以的。但是使用第二种方法,会提示错误。如何解决呢?
方法1:在char *前增加const
const char *name3 = "小明";
该方法将字符串保存在静态数据区,数据不能修改,可以正常输出,但是进行函数传参会出错。
想要使用指针,可以先用字符数组初始化,然后用指针指向字符数组。
char name1[] = "小明";
char *p = name1;
方法2:更改解决方案的属性
在解决方案的属性中找到C/C++的语言一项,将符合模式更改为否(项目默认为是)。
这是我们就会发现原来提示的错误消失了,而且这时可以进行函数传参。