指针字符串

简介: 用指针遍历字符串中字符, 上面的例子是用指针指向字符串中的首个字符,下面的例子是用指针直接指向字符串; (上面的例子的做法是先定义一个字符串数组,用于存放字符串,然后将数组首地址传给指针p,让指针p指向字符串数组的首个字符地址); C中string.

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

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

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

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

 

目录
相关文章
|
5月前
指针(二)------字符指针+数组指针+指针与数组(传参)
指针(二)------字符指针+数组指针+指针与数组(传参)
31 0
|
6月前
|
存储 编译器 数据库
3.1 C/C++ 使用字符与指针
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
28 0
|
6月前
|
存储 编译器 数据库
2.1 C/C++ 使用数组与指针
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
40 0
|
7月前
指针-字符串替换
指针-字符串替换
|
10月前
|
编译器 C++
【为什么】使用数组的指针
【为什么】使用数组的指针
|
11月前
|
人工智能 C语言
|
人工智能 C语言 C++
指针引用字符串问题(详解)
通过指针引用字符串可以更加方便灵活的使用字符串。 字符串的引用方式有两种,下面简单介绍一下这两种方法。 1.用字符数组来存放一个字符串。 1.1 可以通过数组名和下标来引用字符串中的一个字符。 1.2 还可以通过数组名和格式声明符%s输出整个字符串。
108 1
数组初始化相同字符串和指针指向相同字符串的区别
数组初始化相同字符串和指针指向相同字符串的区别
数组初始化相同字符串和指针指向相同字符串的区别
【C】数组和指针练习
【C】数组和指针练习及其详解
96 0
【C】数组和指针练习
|
存储 编译器
指针和数组
一、指针与数组的概念及其区别 二、指针数组案例 三、数组名的真实身份 四、指向数组的指针 五、指向的运算