博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
指针字符串
阅读量:6899 次
发布时间:2019-06-27

本文共 828 字,大约阅读时间需要 2 分钟。

用指针遍历字符串中字符,

上面的例子是用指针指向字符串中的首个字符,下面的例子是用指针直接指向字符串;

(上面的例子的做法是先定义一个字符串数组,用于存放字符串,然后将数组首地址传给指针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的初值;

知道上面的我们就可以修改首字母为大写的;

 

posted on
2013-08-17 11:39 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/ruiy/p/string.html

你可能感兴趣的文章
SpringMVC系列(十二)自定义拦截器
查看>>
JQuery实现最字体的放大缩小
查看>>
20060424: AutoShrinkCollection
查看>>
(三)mybatis级联的实现
查看>>
SQL Server 主库DML操作慢故障处理过程
查看>>
Palindrome Number
查看>>
如果我说,类就是一个人,你会信吗?
查看>>
一次 C# 查詢數據庫 算法優化的案例
查看>>
AC日记——魔法少女LJJ bzoj 4399
查看>>
合作编程
查看>>
VM Depot 中国上的 Bitnami 镜像更新至 Ubuntu 14.04 LTS
查看>>
ios 学习笔记之控件属性
查看>>
log4j输出多个自定义日志文件
查看>>
访问Access数据库(有多个数据库时 体现多态)
查看>>
Redis 常用命令
查看>>
CentOS 中安装和卸载 Emacs
查看>>
Java从小白到入门,Day3(程序流程控制)
查看>>
bzoj千题计划145:bzoj3262: 陌上花开
查看>>
bzoj千题计划225:bzoj2143: 飞飞侠
查看>>
卢卡斯定理
查看>>