(0)c++入门——认识指针与数组——指针即是内存中地址。

初识指针

  首先需要了解一个概念,计算机的内存(或者说是寄存器)都是有地址的。

  《c++ primer plus》一书P37中提到这样一个概念:为把信息存储在计算机中,程序必须记录3个基本属性:

1、信息将要存储在哪里

2、要存储什么值

3、存储何种类型的信息  

而正是为了满足第一个属性,开发语言的设计者设计或者说定义了指针:用于描述信息(各种类型的数据如int、float、double等)在内存中的地址(位置)。就好比酒店在设计之初也需要制定各个房间的编号是什么,这样更方便安排客户入住。如下图:

指针与数组

  《c++ primer plus》一书提到,指针默认是指向数组第一个元素地址的。为什么要让指针默认指向第一个元素的地址呢

  当我们这样定义一个数组时:int *p_int  = new int [5];  

  站在语言设计者的角度考虑,让指针指向第一个元素的地址是比较合理的(是不是也可以让指针默认指向(代表)最后一个元素呢???因为从内存分配角度考虑,要么从高位——>低位 又或者是从 低——>高)。要么从前往后找,要么从后往前走;如果让指针默认指向中间(若是数组元素个数大于2的话),这样不管先找那一边效率都不高。所以也就默认指向第一个元素了。

原文地址:https://www.cnblogs.com/liangxiarong/p/11992954.html