购物网站排名哪家好,建筑工程机械人才培训网,制作app需要下载什么软件,重庆网络策划推广公司字符串
第一种定义
利用字符数组 双引号的方式定义字符串
char str1[4]abc;
printf(%s\n,str1);
细节1:
在底层#xff0c;实际存储的时候#xff0c;c语言还是会帮我们把字符串abc转换成字符数组进行保存#xff0c;并且在末尾还…字符串
第一种定义
利用字符数组 双引号的方式定义字符串
char str1[4]abc;
printf(%s\n,str1);
细节1:
在底层实际存储的时候c语言还是会帮我们把字符串abc转换成字符数组进行保存并且在末尾还要再加上\0‘
{a,b,c,\0};
细节2:
数组的长度要么不写如果要写的话记得要把结束标记的空间给预留出来
细节3:
字符数组 双引号的方式定义字符串内容是可以发生改变的
第二种定义
利用指针 双引号的方式定义字符串
char* str2 abc;
printf(%s\n,str2);
细节1:
在底层实际存储的时候c语言还是会帮我们把字符串abcd转换成字符数组进行保存并且在末尾还要再加上\0
{a,b,c,d,\0‘};
细节2:
利用指针 双引号的方式定义字符串会把底层的字符数组放在只读常量区
只读常量区特点:
内容不可以修改的
里面定义的字符串是可以复用的
复用就是在定义时会查找在只读常量区内有没有这个字符串若有则复用
键盘录入字符串并遍历
#includestdio.h
int main()
{//因为要键盘录入键盘录入所以不可以用指针定义字符串char str[100];//定义一个指针p来接收str的地址char* p str;printf(请输入一段字符串(长度小于100));scanf(%s,str);printf(录入的字符串为%s\n,str); //循环判断str内的每一个字符while(1){//定义变量c来接收p中的元素//数组的地址其实就是数组中第一个元素的地址char c *p;//当c等于结束符时说明字符串已经遍历完成if(c \0){//跳出循环break;}//打印当前元素printf(%c\n,c);//指针 p 向后移动一个位置指向下一个字符p;}return 0;
}
遍历姓名
#includestdio.h
int main()
{//方法一定义一个二维数组来存放5人的名字/*char strArr[5][10] {张三,李四,王五,马六,徐七};int i;for(i0;i5;i){printf(%s\n,strArr[i]); }*///方法二定义一个指针数组来存放5人的名字char* p[5] {张三,李四,王五,马六,徐七};int i;for(i0;i5;i){printf(%s\n,p[i]); }return 0;
}
string常用函数
使用函数需要导入头文件
#includestring.h strlen:获取字符串的长度 统计长度时不计算结束符且中文占2字节 strcat:拼接两个字符串 细节1:把第二个字符串中全部的内容拷贝到第一个字符串的未尾第二个字符串不修改 前提1:第一个字符串是可以被修政的 前提2:第一个字符串中剩余的空间可以容纳拼接的字符串 strcpy:复制字符串 细节1:把第二个字符串中全部的内容拷贝到第一个字符串中把第一个字符串里面原有的内容给覆盖了 前提1:第一个字符串是可以被修改的 前提2:第一个字符串中空间可以容纳第二个字符串的完整内容 strcmp:比较两个字符串 顺序内容完全 一样返回0不一样返回非0 strlwr:将字符串变成小写 只可以修改英文大小写 strupr:将字符串变成大写 只可以修改英文大小写
示例代码
#includestdio.h
#includestring.h
int main()
{char* str1 abc;char str2[100] Ab你;char str3[] {e,f,g,h,\0};
strlen计算字符串长度//int len1 strlen(str1);//int len2 strlen(str2);//int len3 strlen(str3);//printf(%d %d %d\n,len1,len2,len3);
strcat拼接字符串//strcat(str2,str3);//printf(%s\n,str2);//printf(%s\n,str3);
strcpy复制字符串//strcpy(str2,str3);//printf(%s\n,str2);//printf(%s\n,str3);
strcmp比较字符串//int test strcmp(str2,str3);//printf(%d\n,test);
strlwr小写字符串//strlwr(str2);//printf(%s\n,str2);
//strupr大写字符串strupr(str2);printf(%s\n,str2);return 0;
}