C语言基础-字符串(一)起源、定义、赋值

起源

字符串或串(String)是由数字、字母、下划线组成的一串字符。
字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“b”,s[9]=“j”,这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

字符串就是字符数组

Note:

%c:字符 %s:字符串
char用于C或C++中定义字符型变量,只占一个字节,取值范围为 -128 ~ +127(-27~27-1)

定义、赋值(四种方式)

前三种方式

	//第一种方式
	char str1[3]={
    
    'a','b','c'};
    for(i=0;i<3;i++){
    
    
		printf("%c",str1[i]);
    }
    printf("第一种方式\n");
	//第二种方式
    char str2[3]="abc";
    for(i=0;i<3;i++){
    
    
		printf("%c",str2[i]);
    }
    printf("第二种方式\n");
    //第三种方式
    char str3[]="abc";
    for(i=0;i<3;i++){
    
    
		printf("%c",str3[i]);
    }
    printf("第三种方式\n");

在这里插入图片描述
前三种方式原理类似,都是通过数组来实现,第三种为标明数组大小的方式与第一、二种略有不同。

char str1[3]={
    
    'a','b','c'};
char str2[3]="abc";
char str3[]="abc";
printf("str1[3]的大小是%d",sizeof(str1));
printf("str2[3]的大小是%d",sizeof(str2));
printf("str3[]的大小是%d",sizeof(str13));

在这里插入图片描述

原因:源于字符串在内存中的存储方式。除了有效字符以外,字符串str3[],括号内不写值,表示数组的大小会根据初始化时元素的个数来确定,在字符串的结尾处,系统==默认会填上一个**’ \0 '**==作为字符串结束的标志。

第四种

第四种通过指针来实现,这种也是我们平时项目中用的最多的一种。

	//第四种方式
    char *str4="abc";
	printf("%s第四种方式,\n",str4);

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44933419/article/details/112312063
今日推荐