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()很有用。

相关推荐
懒惰蜗牛11 分钟前
Day44 | J.U.C中的LockSupport详解
java·开发语言·后端·java-ee
草莓工作室13 分钟前
数据结构12:二叉树的API及其实现
c语言·数据结构·二叉树
闲人编程13 分钟前
Python设计模式实战:用Pythonic的方式实现单例、工厂模式
开发语言·python·单例模式·设计模式·工厂模式·codecapsule·pythonic
GilgameshJSS28 分钟前
STM32H743-ARM例程29-HTTP
c语言·arm开发·stm32·单片机·http
Moniane42 分钟前
API技术深度解析:从基础原理到最佳实践
开发语言
十五年专注C++开发1 小时前
Drogon: 一个开源的C++高性能Web框架
linux·c++·windows·后端开发·服务器开发
扶苏-su1 小时前
Java---String类
java·开发语言·string类
nexttake1 小时前
5.go-zero集成gorm 和 go-redis
开发语言·后端·golang
搬砖的小码农_Sky1 小时前
如何从Windows 操作系统登录Linux(Ubuntu)操作系统
linux·windows·ubuntu·远程工作
搬砖的小码农_Sky1 小时前
如何在Linux(Ubuntu)操作系统上查看文件的MD5,SHA256等校验码
linux·运维·ubuntu