数组在内存中就指一段连续的内存,但C++提供了一种快捷表示,定义数组名可以等价于该数组的首地址。
int? a[5] = {0};? 定义整型数组,获取首地址可以有两个写法了,取址符:&a[0],?? 数组名: a
指针就是指向某个数据的地址,当然也可以指向数组的首地址,
int *p = a;
另外就是指针可以做加减运算,例如:
p+1?? 就相当于指向了 a[1]
p+2?? 就相当于指向了 a[2]
…
p+5?? 就相当于指向了 a[5]
这样要访问数组,可以用下标,也可以用指针。
相关文章:
- 指针的指针做输入参数代替二维数组
- 指针的指针做输入参数代替二维数组? 有时在写程序是会碰到定义函数输入参数要一个二维数组,但并不能确定数组内的元素个数时,这种情况可以用指针的指针做输入参数解决问题。 因为不用指针的指针,二维数组做对也只能有一维定义时不给出元素个数 (int a[][3])。 指针的指针做输入参数好处就是,不用在定义时就要知道组内元素个数,可以在调用时输入,这们定义的函数更通用。...
- 用指针求数组中间位置
- 两个指针一个指向数组的头部,另一个指向数组的尾部。求数组中间位置? 这个用指针的算术运算就可以完成,用尾部指针减去头部指针,再除以2就可以。不过有一点要注意数组要是奇数才有中间位置,例如:1 2 3 4 5 6 7 中间是4。 判断奇数可以用求余 %方式...
- 为什么指针要定义类型
- 为什么指会要定义类型?这个问题是一个值得思考的问题。我们在写c/c++程式的时候都知道,定义每个变量都要告诉编译器类型,这种就是强类型语言。比如...
- 什么是指针
- 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:...
- 类中静态成员的static用法
- 类中静态成员的static用法.staic是C++中的关键字,表示静态的数据,如果放在类中,比如 class T{ static int Num; void fun(){ int i = Num; } }; 在这里Num就是一个T中的静态成员,它将不依赖于对象存在。我们将可以跟据这个特性来...
- java/C++ do while循环比较
- 回覆:do while在java和C++是一样不,怎么感觉使用上会不一样 关于这点可以很负责认的讲,两个语言的do while循环是一样运作方式,以下是我做的一个实验验证,用eclipse软件分别编写一段do while循环,C++、java两个版本的。...
- 死循环用途,检查代码中内存泄漏
- 死循环用途,检查代码中内存泄漏 死循环就是一直循环下去, 如 while(true) for(;;),一般正常编程的时候很少会用到。 都知道死循环是非常不好的,会让程序崩溃。哪死循环真的没有用途吗? 其时死循环也有它自己的用途,要看用来做什么事,比如检查代码内存泄漏(一般来讲就是new了内存,没有delete)。死循环、内存泄漏在编程中都是非常讨厌的,但两个放到一起又可以变的不一样,也许这就是传说中的以毒攻毒。...
- 数组使用注意点
- 数组array就是同一种类型的数据集合。数组的运用还是比较多的,比如成绩,工资,学号只要是一类的数据,就可以定义成数组。不过在使用数组时,还是有很多要小细节要注意。 注意一点数组不会做下标越界检查,比如上面的数组只有10个a[0]-a[9],但写成a[10]编译器是也会让通过编译,运行时将会出错,所以用数组下标的使用要小心。建议大家用Vector类来代替数组的使用,它也就是C++为了代替数组做的设计。...
- 地址与内存关系
- 计算机的内存看作是一排很长很长的房子,每个房子都可以放数据,通过一个房号来标识。这个比喻颇为有用,也存在局阻性。计算机的内存由数以亿万计的位(bit)组成,每个位可以容纳值0或1.由于一个位所能表示的值的范出太有限,所单独的位用处不大,通常许多位合成一组作为一个单位(比如最小8位,char类型),这样就可以存储范围较大的值。画个图来描述机器中的内存位置。...
- this指针
- this是一个指针,指向当前类对象本身。记住this本质是指针,指针的些操作也都支持,但与普通指针也有区别,在类里使用。具本写段this指针代码。 this指针用途:1.在类中当指针使用。例:像上面哪个代码中用this查看对象地址。2.将数据成员和函数成员参数分开。具体看这篇:this指针用途3.用this记录地址,用于设计数据结构等。...