用指针遍历字符串中字符,
上面的例子是用指针指向字符串中的首个字符,下面的例子是用指针直接指向字符串;
(上面的例子的做法是先定义一个字符串数组,用于存放字符串,然后将数组首地址传给指针p,让指针p指向字符串数组的首个字符地址);
C中string.h头文件中包含的strlen计算字符长度的函数,传入的是字符的地址,它会从这个地址开始计算字符的个数,直到遇到空字符'\0',
下面的 一些C语句判断对错?
char *s;
s = "Qrui";//这是正确的,指针指向字符串的Q首地址;
char s[];
s = "rui";这是错误的,因为s是常量,(数组名代表数组的首个地址,是常量,不能再对常量进行赋值);
我们应该还记得,在定义数组后,对数组进行赋值,是不能像char s[]; s = "qinrui";的,除非是在定义的 同时,char s[] = "qinrui";这是正确的;
否则当定义好数组但没初始化赋值,再对此进行赋值就需要一个元素宇哥元素的给其赋值啦!;
但是还请 注意,当定义一个指针时时,虽然给其赋值了,但 是我们需要注意的是,指针指向的是首个数组的地址,下一个数据的的指向是下移一位 p+1;
char *s = "qinrui";
*s = "ruiy";这中语句也是错误的,错在 呢?
从大体上我们大致理解上述语句的大意是,把字符串ruiy存指针s指向的那一块存储空间,但是由,char *s = "ruiy"我们可以知道,指针s指向字符串qinrui的q此首字符的个的内存空间,
请记住;char *s = "qrui";此处指针指向的是q的地址;虽然字符串qrui都是赋给指针s的初值;
知道上面的我们就可以修改首字母为大写的;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY