C语言中是没有专门的字符串变量类型的,我觉得都是通过存放地址连续的字符来生产成的字符串。字符串有两种办法来声明和使用一个是字符指针另一种是字符数组。如下: char *ch="linux"; char ch[]="linux"; 这两种方法第一种用的比较多但是里边但是这其中其实也隐含着几个重要的概念。 先说第二种,这种方式定义使用都比较简单但是要注意在最后有一个'\0'作为字符串的结束是系统放进去的。这要注意'' '\0'和 ' 0' 的区别。第一种方式定义就尤其要注意因为在GCC中在编译的时候将第一种定义的"linux"是放在代码段的也就是说是只读的如果你通过指针进行了修改那么就会报段错误那就是说第一种那样的定义是不能进行修改的,第一种定义就相当于是定义成 const char *ch="linux";是一样的但是在平常的 使用中都用第一种方式是因为这种方式比较灵活,第二种方式定义一般就只能存放在程序的私有栈里,而第一种就比较灵活数据段,栈,堆里都可以存放普遍的用法应该是 char a[]="linux"; char *p=a; 之后来操作p进行数据访问和修改或者是 char *p=(char *)malloc(20); 申请堆地址来进行访问。 这里就很好的体现了他的灵活性可以使用栈、堆、数据区等所有能提供内存的地方。
C语言字符串
原创
©著作权归作者所有:来自51CTO博客作者秋天的细语的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【C语言加油站】详细解读字符函数与字符串函数
【C语言加油站】字符函数与字符串函数详细介绍字符函数与字符串函数的相关知识点……
C语言 字符串 字符函数 字符串函数