C++指针和数组:字符和字符串、字符数组
来源:互联网 发布:淘宝查排名工具 编辑:程序博客网 时间:2024/05/21 21:02
1、字符串是一种重要的数据类型,但是c语言并没有显示的字符串数据类型,因为字符串以字符串常量的形式出现或者存储于字符数组中。
2、在C++标准模板库(STL)中提供了string类,实现了对字符串的封装。但是其实现原理还是居于字符和指针,要了解这个原理,我们先看一下有关字符数组、字符和字符串之间的一些关联。
3、字符数组:
char ch[24] = {" today is a beautiful day"};//字符数组初始化时,如果使用者未显示添加‘\0’,编译器会自动加上,以表示字符串结束。
所以上面的初始化就相当于
char ch[24] = {"today is a beautiful day \0"};
除了用上述的方式来初始化一个字符数组,还可以用下面的方式:
char ch[] = "today is a beautiful day";
char ch[] = {'a','b,''c','\0'};
4、字符串指针:
char *p = "today is a beautiful day";//一经定义便初始化
char *p = NULL; 在定义时若未初始化,则需要先分配内存,然后再初始化
p = new char[24];//分配内存
strcpy(p,ch);//将p初始化为ch中所存放的内容
5、有关字符串常量:
“today is a beautiful day” 这是一个字符串常量,位于常量区。而字符串常量实际上也是一个指针,指向该常量所在的内存空间。这也是为什么我们可以直 接用一个字符串常量来初始化一个字符串指针。
还有一点需要注意的就是,区别字符常量。字符常量是单引号括起来的,比如‘a’,'b'这样的具有字面值的,且不在大括号{}内部的,其字面值便是ascii 码值。
为了理解上面一点,我们看下面的例子:
看到了吧,我们可以直接用下标访问字符串常量中的值。当然这样做的意义只是为了让我们更深入的理解字符串,在实际使用的时候还是要避免的。
6、字符数组和字符串指针做函数参数请看认识指针和数组
- 字符串指针和字符数组
- 字符数组和字符串指针
- 【C++】字符串——字符数组和字符指针浅谈
- c/c++ 字符数组、字符指针和字符串类型
- 字符数组、字符指针和字符串
- 字符数组、字符指针和字符串
- C常见问题之字符串数组和字符指针数组问题
- C语言字符指针和字符数组
- C 字符数组和字符串
- C++指针和数组:字符和字符串、字符数组
- 字符指针和字符数组
- 字符指针和字符数组
- 字符指针和字符数组
- 字符数组和字符指针
- 字符指针和字符数组
- 字符数组和字符指针.....
- 字符数组和字符指针、
- 字符数组和字符指针
- 第九周上机实践项目3——稀疏矩阵的三元组表示的实现及应用(2)
- 第七周--数据结构--插入正数, 摒弃负数。
- 生态化反之下,乐1s“旗舰杀手”是否浪得虚名?
- iOS 开发:上拉加载,下拉刷新
- 第九周项目2——对称矩阵压缩存储的实现与应用(2)
- C++指针和数组:字符和字符串、字符数组
- 第9周项目2 - 对称矩阵压缩存储的实现与应用(1)
- 10、函数指针
- bzoj4306: 玩具厂
- 第九周 项目1-猴子选大王(数组)
- ARM寻址方式
- 2015-10-30【项目4-广义表算法库及应用】
- 方法综述
- 1011 A+B和C