黑马程序员技术交流社区

标题: 关于C语言字符串的问题 [打印本页]

作者: pprgra56    时间: 2014-3-7 16:59
标题: 关于C语言字符串的问题
本帖最后由 pprgra56 于 2014-3-8 16:47 编辑

  在C语言中 有没有字符串类型的变量啊 就是string 类型的变量 每次都要存到char型的数组中 很不方便啊 而且最主要的是还要设置初始长度 有没有可变长度数组啊 求解
作者: 脸皮猴    时间: 2014-3-7 17:03
C语言中,其实你可以用指针来指向字符串,可以不用定义一个字符数组。指针一定要会用!
比如
char *buf = “我就是字符串!”;
作者: S__mIn_®    时间: 2014-3-7 19:07
string是C++里才新定义出来的类型,C语言中是char[]
作者: lixiangzhou    时间: 2014-3-7 21:11
本帖最后由 lixiangzhou 于 2014-3-7 21:25 编辑

C中没有可变数组,C中的字符串有数组和指针两种写法来表示。
如果不确定要多长的字符串,可以使用指针来指向这个字符串,如: char *str = "hello";
在循环取字符串中的每个字符的时候,可以用<string.h>文件中的strlen(str)来获取长度,不过获取的是字符长度(也就是字节数),不是字符数。
而且要注意,当使用指针的时候,不能改变字符串的值,如上 char *str = "hello";不能之后又赋值给变量str:str = "world";(这样赋值是错误的)。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2