C语言从入门到精通之【字符串】

C语言没有专门用于储存字符串的变量类型,字符串都被储存在char类型的数组 中。数组由连续的存储单元组成,字符串中的字符被储存在相邻的存储单元中,每个单元储存一个字符,每个字符占1个字节。

数组末尾位置的字符\0。这是空字符(null character),标记字符串的结束。C中的字符串一定以空字符结束,这意味着数组的容量必须至少比待存储字符串中的字符数多1。就是说一个长度为10的数组,最多只能存9个字符,最后一个字符要来存结束符。

C 复制代码
#include <stdio.h>
#include <string.h>

int main(void)
{
    char name[64] = {0};

    printf("What's your name? ");
    scanf("%s", name);
    printf("Hello, my name is %s\n", name);
    printf("strlen(name) %lu\n", strlen(name));
    printf("sizeof(name) %lu\n", sizeof(name));
    return 0;
}

注意(这很重要),scanf()只读取了zhu rongcai中的zhu,它在遇到第1个空白(空格、制表符或换行符)时就不再读取输入。一般而言,根据%s转换说明,scanf()只会读取字符串中的一个单词,而不是一整句。C语言还有其他的输入函数(如,fgets()),用于读取一般字符串。

sizeof 运算符 ,它以字节为单位给出对象的大小。strlen()函数给出字符串中的字符长度,可以看到,结束符并没有算进去。strlen()和 sizeof 是非常重要的编程工具。例如,在各种要处理字符串的程序中,strlen()很有用。

相关推荐
kimnoic4 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
别动我齐刘海5 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
必须得开心呀5 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
玖石书7 小时前
Ubuntu 24.04 UFW 全命令攻略:从入门到端口开放实战
linux·运维·ubuntu
xiaoqiMikko7 小时前
Linux 实战(七):useradd、sudoers、umask、SGID、软链 —— 三台真机实测
linux·centos
沫璃染墨7 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss
达子6668 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
道尔柯南8 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
楠楠子呀8 小时前
英语、西语、阿语客户各开一个口:多语言获客的分流方案
开发语言·javascript·ecmascript·跨境电商·whatsapp·营销工具
Navigator_Z8 小时前
LeetCode //C - 1288. Remove Covered Intervals
c语言·算法·leetcode