字符串和字符串函数

1.字符串字面量(字符串常量):用双引号括起来的内容称为字符串字面量,也叫字符串常量。

字符串常量属于静态存储类别,这说明如果在函数中使用字符串常量,该字符串只会被存储一次,在整个程序的生命期内存在,计时函数被调用多次。

用双引号括起来的内容被视为指向该字符串存储位置的指针。*“hello”中的“hello”类似于一个数组名,表示首元素的地址。

 

2.字符串数组和初始化

在定义一个字符串时,注意最后要用空字符,如果没有空字符,就不是一个字符串,而是一个数组。但计算一个字符串的长度时,并不包含这个空字符。

字符串以数组的形式存在,以数组或指针的形式访问,更多的是以指针的形式访问。

字符数组名和其他数组名一样,是该数组首元素的地址。可以用下列方式创建字符串:

        指针表示法:  char *pr="hello" ;

        数组表示法: char pr[ ]="hello" ;

    那char*是不是字符串?不一定,只有当他所指的字符数组结尾有空字符时,它才是字符串。

 

3.数组和指针的区别

char a[ ]="hello";

const char *b="hello";

两者的主要区别是:数组名a是常量,而指针名b是变量。

因此不能改变a的值,可以进行a+1的操作(指向下一个元素的地址),但不能进行a++;的操作。

但b可以如++b,表示指向第二个字符。

字符串字面量被视为const数据,这意味着b不能改变它所指向的数据,但仍然可以改变b的值。

 

posted @   Godofball  阅读(209)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示