初识C语言-字符串

本文介绍了C语言中字符串的处理,包括字符串字面值的表示、字符数组的使用、字符串结束标志0的作用以及strlen函数在计算字符串长度的应用。
摘要由CSDN通过智能技术生成

C语言中没有字符串类型。

"Hello world!\n",这种由双引号引起来的一串字符串称为字符串字面值,或者简称字符串。

#include <stdio.h>

int main(){
	char arr[] = "abcd";
	printf("sizeof(arr)=%d\n", sizeof(arr));
	return 0;
}

按下键盘上的F10,进入调试,

然后再点击界面第一行的调试-窗口-监视-监视1,2,3,4(随便点一个)

输入arr,结果如图:

字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候\0是结束标志,不算作字符串内容。

控制台上输出的结果如图,arr数组的大小为5个字节。

进一步探究字符数组,字符串在内存中的存放方式

#include <stdio.h>

int main(){
	char arr1[] = "abcd";
	char arr2[] = {'a','b','c','d'};
	char arr3[] = {'a','b','c','d','\0'};
	printf("%s\n",arr1);
	printf("%s\n",arr2);
	printf("%s\n",arr3);
	printf("sizeof(arr1)=%d\n", sizeof(arr1));
	printf("sizeof(arr2)=%d\n", sizeof(arr2));
	printf("sizeof(arr2)=%d\n", sizeof(arr3));
	return 0;
}

调试得到的内存存放结果如图:

输出结果如图:

字符串的结束标志是一个\0的转义字符,打印时遇到它才会停下来。字符数组arr2存放的这种方式打印时不知道内存是怎么存放的,不知道什么时候才能碰到\0结束打印,所以很有可能打印时会出现乱码,所以采用这种方式存字符串时,记得在最后补一个\0。

#include <stdio.h>
#include <string.h>

int main(){
	char arr1[] = "abcd";
	char arr2[] = {'a','b','c','d'};
	char arr3[] = {'a','b','c','d','\0'};
	int len1 = strlen(arr1);
	int len2 = strlen(arr2);
	int len3 = strlen(arr3);
	printf("%s\n",arr1);
	printf("%s\n",arr2);
	printf("%s\n",arr3);
	printf("%d\n",len1);
	printf("%d\n",len2);
	printf("%d\n",len3);
	printf("sizeof(arr1)=%d\n", sizeof(arr1));
	printf("sizeof(arr2)=%d\n", sizeof(arr2));
	printf("sizeof(arr2)=%d\n", sizeof(arr3));
	return 0;
}

strlen()是求字符串长度的一个函数,使用时要包含头文件<string.h>。

结果如图:

  • 24
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值