专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
数组和指针( www. ). 001数组和vector的区别在于,数组的长度是固定的.数组一经创建,就不允许动态的修改长度.指针可以像迭代器一样用于遍历和检索数组中的元素. 现代C++程序应该尽量使用vector和迭代器类型,而避免使用低级的数组和指针.只有在强调速度时,才在类实现的内部使用数组和指针. 002数组的缺陷在于没有size()操作,也就是程序员无法知道一个给定数组的长度. 如果需要更改数组的长度,就必须再声明一个更大的数组,把原来数组的内容copy到新数组中去. 003引用不能定义数组.没有所有元素都是引用的数组. 004非const变量和 [阅读全文] [PDF]
  现在到揭露数组名本质的时候了,先给出三个结论:   (1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;   (2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;   (3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址!   1、数组名指代一种数据结构:数组   现在可以解释为什么第1个程序第6行的输出为10的问题,根据结论1,数组名str的内涵为一种数据结构,即一个长度为10的char型数组,所以sizeof(str)的结果为这个数据结构占据的内存大小:10字节 [阅读全文] [PDF]
虽然用字符指针变量和字符数组都能表示和处理字符串,但它们二者之间是有区别的,不应混淆。 (1)字符数组由若干个元素组成,每个元素中存放字符串的一个字符,而字符指针变量中存放的是字符串的首地址。 (2)初始化方式不同。对字符数组初始化要用stati‘c存储类别,在编译时进行。而对字符指针变量初始化不必加static,在实际执行时进行。 (3)赋值方式不同。对字符数组不能整体赋值,只能转化成份量,对单个元素进行。而字符指针变量赋值可整体进行。例如: chars[10]; a=\"C++\";/*错,s是常量,怎能被赋值*/ (4)在定义一个字符数组时,编 [阅读全文] [PDF]
数组的指针即整个数组在内存中的起始地址,而数组元素的指针是数组中某一元素所占存储单元的地址。 利用指针法引用数组元素能使目标程序质量高、占内存少、运行速度快。 C++语言中规定:数组名就代表数组首地址,也就是数组第0号元素的地址。如 int a[10]; int *p; p=&a[0];/*与p=a,是等价的*/ p+i或a+i就是a[i]元素的存储地址,即它们都指向数组的第i号元素a[i]。所以*(p+i)或*(a+i)就与a[i]是等价的。实际上,在编译时,编译程序把a[i]处理成*(a+i)。因此利用此方法就可访问到数组元素。如: main( [阅读全文] [PDF]
[阅读全文] [PDF]
标签:
1 共5条 分1页