C语言中是没有专门的字符串变量类型的,我觉得都是通过存放地址连续的字符来生产成的字符串。字符串有两种办法来声明和使用一个是字符指针另一种是字符数组。如下:
char ch="linux";
char ch[]="linux";
这两种方法第一种用的比较多但是里边但是这其中其实也隐含着几个重要的概念。
先说第二种,这种方式定义使用都比较简单但是要注意在最后有一个'\0'作为字符串的结束是系统放进去的。这要注意'' '\0'和 ' 0' 的区别。第一种方式定义就尤其要注意因为在GCC中在编译的时候将第一种定义的"linux"是放在代码段的也就是说是只读的如果你通过指针进行了修改那么就会报段错误那就是说第一种那样的定义是不能进行修改的,第一种定义就相当于是定义成 const charch="linux";是一样的但是在平常的 使用中都用第一种方式是因为这种方式比较灵活,第二种方式定义一般就只能存放在程序的私有栈里,而第一种就比较灵活数据段,栈,堆里都可以存放普遍的用法应该是
char a[]="linux";
char p=a;
之后来操作p进行数据访问和修改或者是
charp=(char *)malloc(20);
申请堆地址来进行访问。
这里就很好的体现了他的灵活性可以使用栈、堆、数据区等所有能提供内存的地方。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:C语言字符串-创新互联
本文路径:http://lswzjz.com/article/dipsgo.html