数组存放字符 |
您所在的位置:网站首页 › c语言字符数组可以存放字符串 › 数组存放字符 |
1.在C语言中,是将字符串作为字符数组来处理的,字符串是逐个存放到数组元素中的。例如用一个一维的字符数组存放字符串"I am a boy."。 如下代码: char c[12] = {'I','a','m','a','b','o','y','.'}; 这个字符串的实际长度是11,数组长度是12,实际工作中,人们关心的往往是字符串的有效长度而不是字符串的数组长度,例如要打印字符串,这是就要知道字符串的实际长度。 ![]() 平时常使用下面三种方式来测定字符串的实际长度: (1)在串值后面加一个不计入长度的结束标记字符,比如''来表示串值的终结 初始化一个字符串的方法如下,在最后添加''char str[] = {'I','a','m','h','a','p','p','y',''}; 也可以直接使用字符串常量初始化字符数组(系统自动加上''),这种方法符合人们的习惯。 char str[] = "I am happy"; 或者 char str[] = {"I am happy"}; 注意:不能使用下面的赋值方式: char str[20]; str = "I am happy"; 但可以用字符指针指向这个字符串: char *str; str = "I love China"; ![]() (2)将实际串长度值保存在数组0的下标下 #define MAXSIZE 20 //数组的长度 typdef char String[MAXSIZE+1]; 初始化字符串的方法: String t; StrAssign(t,"I am happy"); int StrAssign(String T,char *chars) { T[0] = strlen(chars); //下标为0存放数组长度 for(i=1;i char ch[MAXSIZE]; int len; }String; 其中:MAXSIZE表示串的最大长度,ch是存储字符串的一维数组,len是字符串的长度 初始化函数示例: String t; StrAssign(&t,"I am happy"); int StrAssign(String *t,char *chars) { int i; if(strlen(chars)>MAXSIZE+1) //字符串的长度大于数组的长度,操作失败,返回0 return 0; for(i=0;i { t->ch[i] = *(chars+i); } t->len = strlen(chars); //数组的长度 return 1; //返回1,操作成功 } 说明:这里的StrAssign函数的参数t使用的是指针,是因为结构体变量做做形参,用法和普通变量一样属于值传递方式,在子函数中要给t赋值,所以输入的是t的指针。 与之对比的是(2)子函数中T是数组,传入的是数组的首地址(改变形参也就改变了实参)。 获取方式: 1.在你手机的右上角有【关注】选项,或点击我的头像,点击关注!(关注我) 2.关注后,手机客户端点击我的主页面,右上角有私信,请私信发我:编程 电脑已经设置好了关键词自动回复,自动领取就好了!这几天上万个消息,真的回复不过来,所以回复的时候请注意关键词! 其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里请私信我“编程”不管你是小白还是大牛欢迎入住大家一起交流成长。小编会在里面不定期分享干货源码,包括我精心整理的一份c++零基础教程。欢迎各位感兴趣的的小伙伴。 学习思路: ![]() 学习资料: ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |