定义指针字符

孤者浪人 提交于 2020-01-14 17:51:53

定义指针字符

字符串常量是用一对双引号括起来的字符序列,与基本类型常量的存储类似。字符串常量是一串字符,通常被看作一个特殊的一维数组,与数组的存储类似,字符串常量中的所有字符在内存中连续存放。所以,系统在存储一个字符串常量是先给定一个起始地址,从该地址指定的存储单元开始,连续存放给字符串中的字符。也就是说,字符串常量实质上是一个指向该字符串首字符的指针常量。
如果定义一个字符指针接收字符串常量的值,,该指针就指向字符串的首字符。
那么如何定义指针字符呢?
指针要先赋值后引用,因为指针中存放的是地址,没有对它赋值,它就不知道指向谁,所以输入的字符也就不知道存放在哪里,因此在输入字符之后字符所存放的空间实际上是不知道的,如果它输入的空间中已经有其他数据了,那么这些数据就会被新输进来的数据覆盖,所以会导致出错。

char *s;
scanf("%s",s);  //没有赋值便直接引用  

char *s,str[20];
s=str;
scanf("%s",s);   //先赋值后引用    
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!