进阶C语言、第十一章字符串和字符串函数

本文详细介绍了C语言中字符串的概念,包括字符串字面量、字符串数组和初始化、指针与字符串的关系,以及字符串操作函数如strlen()、strcat()等。同时,讨论了字符串输入输出的安全性,如gets_s()、fgets()与scanf()的使用场景和注意事项。
摘要由CSDN通过智能技术生成
  1. 表示字符串和字符串I/O
    字符串是\0结尾的char类型数组。
    1)字符串字面量
    用双括号扩起来的内容称为字符串字面量,即字符串常量。
    双引号中的字符和编译器自动加的\0字符,都作为字符串储存在内存中。
    ": " " "视为串联。内部使用“要在前面加
    字符串常量属于静态存储类别。该字符串只会存储一次。双引号扩起来的内容视为指向该字符串储存位置的指针。类似于把数组名作为指向该数组位置的指针。
    *“abc”表示字符串的首字符。
    2)字符串数组和初始化
    1、用足够的空间的数组储存字符串。标准数组初始化时,注意空字符。若无就变成了字符数组。
    const char m1[40] = “asd ndsa das”;
    const char m1 [40] = { ‘a’, ‘d’, ‘c’, ‘\0’};
    2、指针创建字符串。
    const char * pt1 = “asd daasda dwqd”;
    3)数组和指针
    1、 字符串储存在静态存储区。但是当程序在开始时才会为该ar[ ] 数组非配内存。此时才会将字符串拷贝到数组中。此时字符串有两个副本。一个是在静态内存中的字符串字面量,另一个是储存在ar1数组中的字符串。
    编译器把数组名ar1识别为该数组首元素地址(&ar1[0])的别名。
    a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值