定义指针字符
字符串常量是用一对双引号括起来的字符序列,与基本类型常量的存储类似。字符串常量是一串字符,通常被看作一个特殊的一维数组,与数组的存储类似,字符串常量中的所有字符在内存中连续存放。所以,系统在存储一个字符串常量是先给定一个起始地址,从该地址指定的存储单元开始,连续存放给字符串中的字符。也就是说,字符串常量实质上是一个指向该字符串首字符的指针常量。
如果定义一个字符指针接收字符串常量的值,,该指针就指向字符串的首字符。
那么如何定义指针字符呢?
指针要先赋值后引用,因为指针中存放的是地址,没有对它赋值,它就不知道指向谁,所以输入的字符也就不知道存放在哪里,因此在输入字符之后字符所存放的空间实际上是不知道的,如果它输入的空间中已经有其他数据了,那么这些数据就会被新输进来的数据覆盖,所以会导致出错。
char *s;
scanf("%s",s); //没有赋值便直接引用
char *s,str[20];
s=str;
scanf("%s",s); //先赋值后引用
来源:CSDN
作者:不想当菜的菜鸡
链接:https://blog.csdn.net/weixin_42371679/article/details/103973053