C语言入门:字符串

在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。

空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。

本节涉及函数英文全称

strcmp: string compare

strcat: string catenate

strcpy: string copy

strlen: string length

strlwr: string lowercase

strupr: string upercase

字符串在以如下输入进行初始化的时候需要对 \0 特别注意:

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

如果没有在字符数组最后增加 \0 的话输出结果有误:

// 初始化字符串
char greeting[5] = { 'H', 'e', 'l', 'l', 'o' };
printf("Greeting message: %s\n", greeting);

输出结果:

Greeting message: Hello烫烫烫?侵7(?╔?╚╔╔

在使用不定长数组初始化字符串时默认结尾为 \0

char greeting[] = "Hello";
printf("Greeting message: %s, greeting[] Length: %d\n", greeting, sizeof(greeting));

输出结果:

Greeting message: Hello, greeting[] Length: 6

结论:需在给定字符数组的大小时在原有的字符串的字符数上加 1。

strlen 与 sizeof的区别:

strlen 是函数,sizeof 是运算操作符,二者得到的结果类型为 size_t,即 unsigned int 类型。

sizeof 计算的是变量的大小,不受字符 \0 影响;

而 strlen 计算的是字符串的长度,以 \0 作为长度判定依据。

'a' 表示是一个字符,"a" 表示一个字符串相当于 'a'+'\0';

'' 里面只能放一个字符;

"" 里面表示是字符串系统自动会在串末尾补一个 0。

1、字符串的本质是以 \0 结束的字符数组。

2、字符串的字面量是常量,比如"hello world"。

3、字符串的定义与初始化。

字符数组:

  1. 数组形式

char hi[] = {'h','e','l','l','o','\0'};
  1. 直接赋首地址:

char hi[50] ="hello" ;
  1. 省略长度

char hi[] = "hello";
char hi[] = { "hello" };

字符指针:(注意指针不能直接赋给数组)

char *hi = "hello";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰度少爷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值