A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pprgra56 中级黑马   /  2014-3-7 16:59  /  1468 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 pprgra56 于 2014-3-8 16:47 编辑

  在C语言中 有没有字符串类型的变量啊 就是string 类型的变量 每次都要存到char型的数组中 很不方便啊 而且最主要的是还要设置初始长度 有没有可变长度数组啊 求解

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

正序浏览
本帖最后由 lixiangzhou 于 2014-3-7 21:25 编辑

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

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
string是C++里才新定义出来的类型,C语言中是char[]
回复 使用道具 举报
C语言中,其实你可以用指针来指向字符串,可以不用定义一个字符数组。指针一定要会用!
比如
char *buf = “我就是字符串!”;

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马