周立功手把手教你学C语言编程:用数组,构造一个双重指针.doc
《周立功手把手教你学C语言编程:用数组,构造一个双重指针.doc》由会员分享,可在线阅读,更多相关《周立功手把手教你学C语言编程:用数组,构造一个双重指针.doc(2页珍藏版)》请在三一文库上搜索。
1、周立功手把手教你学C语言编程:用数组,构造一个双重指针第一章为程序设计基础,本文为1.8.3 指针数组中的第二要点:字符串与二维数组。1.字符串与指针的指针1 #include1 #includeconst char * keyWord6 = eagle, cat, and, dog, ball, NULL;1 int lookup(char *word, char *keyword)2.字符串与二维数组char keyWord6 = eagle, cat, and, dog, ball;char * keyWord5 = eagle, cat, and, dog, ball;其中,第1个声明
2、创建了一个二维数组,详见图 1.16(a)。第2个声明创建了一个指针数组,每个指针元素都初始化为指向各个不同的字符串常量,相加图 1.16(b)。图 1.16 矩形数组和不规则数组如果改用二维数组代替指针数组修改程序清单 1.44,这两种方法使用了相同的初始化列表,显示字符串的for循环代码也相同,因此只要修改形参和局部变量的声明即可。由于数组变量名的值是指针,因此无论传递给函数的是指针还是数组名,函数都能运行。尽管它们的声明不同,但从某些方面看起来,它们非常相似,两者都代表5个字符串。当使用一个下标时都分别表示一个字符串,但两者的类型并不相同。当使用2个下标时都分别表示一个字符,比如,key
3、Word12表示keyWord数组中第2个指针指向的字符串的第3个字母t。初看上去二维数组的效率似乎低一些,因为它每一行的长度都被固定为刚好能容纳最长的关键字,但它不需要任何指针。另一方面,指针数组也要占用内存,但是每个字符串常量占用的内存空间只是它本身的长度。如果它们的长度差不多,那么二维数组形式更紧凑一些。如果各个字符串的长度差别很大,绝大多是字符串都很短,只有少数几个很长,那么使用指针数组形式会更紧凑一些,取决于指针所占用的空间是否小于每个字符串都存储于固定长度的行所浪费的空间。实际上,除了非常巨大的表,它们之间的差别是非常小的,所以根本不重要。除非要改变其中的任何一个字符串,二维数组是更好的选择。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 立功 手把手 语言 编程 数组 构造 一个 双重 指针
链接地址:https://www.31doc.com/p-3406019.html