字符串(1)——相关定义

字符

字符就是符号或图案,在计算机中是以整数形式存储的,当需要显示的时候会根据ASCII码表中的对应关系显示出相关的符号
‘\0’ -> 0
‘0’ -> 48 (字符0)
‘A’ -> 65
‘a’ -> 97

一种数据结构,由若干个相同类型的元素组成,有一个明确的结束标志,对串的所有操作都是以这个标志为结束信号

字符串

由字符组成的串型数据结构,以’\0’作为结束标志
字节数
字符串长度
sizeof(arr); -> 出来长度 = 字符串长度+1(’\0’)
字符串为什么重要?
数据只能以字符串形式显示!!!
我们看到的都是字符型数据,而计算机只能针对数值型数据进行运算,因此我们需要非常频繁的把数据转换成字符串,字符串转换成数据
字符数组:

			char arr[5] = {'h','e','l','l','o'};  	// error 没有地方存放'\0'
			char arr[6] = {'h','e','l','l','o'};  

注意:要为’\0’预留位置,但可以进行修改
字符串字面值:
“由双引号包含的若干个字符”
: 一个汉字相当于三个字符
1、以地址形式存在,且以 const char * 类型存在

			printf("%s","hehe");  

-> 可以直接打印
-> 一般 printf(“hehe”); 就可以直接打印
2、它存储在只读段/代码段,不能修改,否则会产生段错误

			// char* p = "hehe";		//	不安全的写法
			const char* p = "hehe"; // 正确写法,使程序在编译的时候就过不去,以免造成不必要的麻烦
			*p = 'H';  //  不能修改,会产生段错误
			printf("%s",p);

3、自带’\0’
一般情况都使用字符串字面值来初始化字符数组,编译器会把只读段中的字符串拷贝一份到栈,并且包括’\0’

			char arr[] = "hehe";	//	应为arr[5],若为 arr[4]存在隐患
									//	初始化的时候一般不加长度
			arr[0] = 'H';			//	可以更改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值