★一维数组
一个整型数据为4个字节。4个字节就是32位,即可以表示2^32个数字
在程序中定义一个数组a[5] = {1,2,3,4,5};
那么a[0]的地址就是0x00000000,数组a的地址也是0x00000000。a+1则表示的地址是0x00000004,而不是0x00000001。因为1这个值,根据前面的指针a所指向的类型的长度来调整自己的长度。也就是说如果a是指...
分类:
编程语言 时间:
2014-07-03 17:17:44
阅读次数:
202
C++规定了虚函数的行为,但是将实现交给了编译器的作者.
通常,编译器处理虚函数的方法是给每一个对象添加一个隐藏成员.隐藏成员中保存了一个指向函数地址数组的指针.
这个数组称为虚函数表(virtual function table,vtbl).虚函数表中存储了为类对象进行声明的虚函数的地址.
例如:基类对象包含一个指针,该指针指向基类的虚函数表.
派生类对象包含一个指针,该指针指向一个独立...
分类:
编程语言 时间:
2014-06-22 17:06:32
阅读次数:
239
从一道小题下手(该考点曾被腾讯等大公司作为基础笔试题考过),
#include
int size(char a[10])
{
return sizeof(a);
}
int main(void)
{
char a[] = {'C','h','i','n','a','\0'};
char *p = "China";
char *q = a;
prin...
分类:
其他好文 时间:
2014-06-15 19:19:52
阅读次数:
221
17.处理函数和数组声明
指向函数的指针声明与指向数组的指针声明很容易混淆,主要原因在于函数和数组修饰符的优先级比指针修饰符的优先级高,因此通常需要使用圆括号。
int *f1(); //一个返回值为int* 的函数
int (*fp1)(); //一个指针,指向一个返回值为int的函数
const...
分类:
编程语言 时间:
2014-06-04 23:50:26
阅读次数:
504
一个变量有一个地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,他们都有相应的地址,所谓数组的指针是指数组的其实地址,数组元素的指针是数组元素的地址。一个数组是有连续的一块内存单元组成的。数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素(下标变量)组成的。每个数组预元素按...
分类:
其他好文 时间:
2014-05-31 17:11:15
阅读次数:
153
数组的最大长度:
由于内存模型的工作方式,不应该超过64KB的数据变量。这也需要根据平台的不同,DOS有限制,但是在Windows中没有。
数组的长度(以字节为单位)取决于它包含的元素数目和每个元素的长度。元素的长度取决于数组的数据类型和正在使用的计算机。
指针:
1,指针的定义;
2,指针的用途;
3,如何声明和初始化指针?
4,如何使用指向变量和数组的指针...
分类:
编程语言 时间:
2014-05-21 10:24:34
阅读次数:
295
编程题:比较指向数组元素的指针变量和指向数组的指针变量的不同。#include<stdio.h>voidmain(){inta[2][3]={1,2,3,4,5,6};int*p1,(*p2)[3];/*p1指向数组元素,p2指向包含3个元素的一维数组*/p1=a[0];p2=a;/*用指向数组元素的指针变量输出二维数组元素*/for(;p1<a[0]+..
分类:
其他好文 时间:
2014-05-20 17:49:50
阅读次数:
217
重载操作符与转换--自增/自减操作符引言: 自增,自减操作符经常由诸如迭代器这样的类实现,这样的类提供类似于指针的行为来访问序列中的元素。例如,可以定义一个类,该类指向一个数组并为该数组中的元素提供访问检查:class CheckedPtr
{
public:
//这个类没有默认构造函数,必须提供指向数组的指针。
/**构造函数的参数是两个指针:一个指向数组的开始,另一个指向...
分类:
编程语言 时间:
2014-05-08 08:09:00
阅读次数:
493
二维数组意义:int **Ptr 表示指向"一群"指向整数的指针的指针。int *Ptr[ 5
] 表示指向 5 个指向整数的指针的指针,或者说Ptr有5个指向"一群"整数的指针,Ptr是这5个指针构成的数组的地址int ( *Ptr )[ 5 ]
表示指向"一群"指向 5 个整数数组的指针的指针。...
分类:
编程语言 时间:
2014-05-04 10:55:26
阅读次数:
392
STL实践与分析--泛型算法的结构引言: 正如所有的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础。 算法最基本的性质是需要使用的迭代器种类。所有算法都指定了它的每个迭代器形参可使用的迭代器类型。比如,如果形参必须为随机访问迭代器则可提供vector或 deque类型的迭代器,或者提供指向数组的指针。而其他容器的迭代器不能用在这类算法上。 C++还提供了另外两种算法模式...
分类:
编程语言 时间:
2014-04-27 21:36:05
阅读次数:
392