C语言的字符串(篇章之二)
2016-06-08 23:05
295 查看
指针数组
【一】定义:指针用于存储地址,它和数组名紧密的联系在一起。而上章我们讲的字符串呢?如果一个数组的元素是字符指针呢?一维呢?二维呢?还有多维的呢?
对此,我们这样是这样定义的:如果一个数组中的各个元素都是字符指针,我们就称该数组为字符指针数组(指针数组)。
char *name[] 就是一个指针数组。
【二】指针数组的具体应用
(1)使用指针创建字符串
- 其实,字符串的定义自动就包含指针。
eg:
定义number1[100];其就为100个字符声明存储空间,并自动的创建一个包含指针常量number1,是存储的是number1[0]的地址。
切记,跟一般的常量一样,指针常量指向是明确的,不能被修改。
- 而用指针创建字符串。
eg:
char *number2=”how are you?”;
这个number1和number2是不同的,number1是按照数组定义方式定义的,而number2本身就是一个指针变量,它只是通过显式的方式明确了 一个指针变量。
【三】指针数组和数组指针的应用区别:
在本章节中【一】和【二】系统介绍了指针数组。我们就介绍一下数组指针吧。
- 我们在前面的章节有介绍了数组以及指针,其实就是它们的复合运用。由于本人的整个逻辑安排以及篇章分配的整体性。我就在这简单举个例子吧。以后拿个项目来来交流交流。
数组指针的一般形式为:type (*) []
eg:
int (*p)[40]。指针p用来指向含有40个元素的整型数组。
例子:
#include <stdio.h> int main(void) { int array[2][4]={1,2,3,4,5,6,7,8}; int i,j; int (*p)[4]; p=array; //p指向array下标为0那行的首地址 for(i=0;i<2;i++) { for(j=0;j<4;j++) printf("array[%d][%d]=%d\n",i,j,p[i][j]); } return 0; }
【来自本人的简书】:
http://www.jianshu.com/writer#/notebooks/4124910/notes/4203102
相关文章推荐
- [置顶] 【VSCode】Windows下VSCode编译调试c/c++【更新】
- C++独孤九剑第四式——菩提无树(构造函数语意)
- c语言 用链表构造字符串
- L1-011. A-B
- 一个web服务器并发测试工具 (含源码)
- c语言实例之函数副本机制
- c++:静态函数成员与静态数据成员
- c++:静态函数成员与静态数据成员
- 【C++】Visual Studio 2012 MFC中添加OnTimer时间函数
- 深入探索c++虚函数继承模型
- C++第二次上机5-5
- c++ string函数精讲
- 哈夫曼树数据机构的建立及哈夫曼编码与解码的C++实现
- 类的继承与派生(Shape例子派生Rectangle和Circle,Rectangle派生出Square)
- C语言char*字符串数组和unsigned char[]数组的相互转换
- C++符号优先级
- 层序遍历二叉树(C语言+循环队列)
- GDI+ 如何绘制圆角矩形(vc++)
- 【C/C++】枚举类型举例
- error LNK2019