本文主要是介绍16.1字符串与指针,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//char数组与char*的区别
int main()
{//字符数组存储字符串 栈区char name[20] = "shixiaobin";//指针指向常量区的字符串 常量区const char* paddr = "山西省运城市"; //加const 比较安全 在C++里必须加const,要不然出错:error C2440://区别puts(name);//输出字符串puts(paddr);//不能给数组整体赋值//name = "你好";//想要赋值必须使用strcpy _s安全版本函数,需要指定缓冲区的长度 safe 安全strcpy_s(name, 20,"你好");puts(name);//paddr能修改吗?//strcpy(paddr, "你好吗?");//paddr指向的是常量区的字符串,禁止修改//可以改变addr的指向,不是修改字符串paddr = "你好吗?";//逐字符输出是一样胡int len = strlen(name);for (int i = 0; i < len; i++){putchar(name[i]);}putchar('\n');int len1 = strlen(paddr);for (int i = 0; i < len1; i++){putchar(paddr[i]);}putchar('\n');//逐字符输出是一样的printf("%s\n", name); //输出麻烦一点puts(name); //专门用来输出字符串的,简单,puts输出之后自动换行return 0;
}
这篇关于16.1字符串与指针的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!