C++实训 单元四 指针
1. 什么是内存编址?为什么要对内存编址?一个内存单元等于多少个字节?答:在计算机系统中,存储器中每个单元的位数是相同且固定的,称为存储器编址单元。不同的计算机,存储器的编址方式是不同的,主要有字编址和字节编址。内存一般以字节(8位)或字(字的长度可大可小,16位、32位等)为单位。存储器由一块块的空间(存储单元)组成,为了方便找到每一块的空间,我们需要对没一个空间进行标识–内存编址。一个内存单元等于一个字节。字节单位是b
2. 什么是变量的值?什么是变量的地址?变量名是什么?答:变量的值是内存单元存放的值,变量的地址是对内存单元分配的地址,变量名是变量的别名。
3. 什么是变量的直接访问?什么的变量的间接访问?答:直接用变量名进行使用,用指针使用则是间接访问。
4. 指针变量简称指针,它的值是什么?指针变量名又是什么?答:它的值是内存单元存放的一个数值。变量名是指针的一个变量名称。
5. 指针变量与内存地址有什么关系?答:指针变量的内存地址存放的值,指针是内存地址类型。
6. 如何定义指针变量?指针变量的类型由什么决定?答:指针只能指向同类型的变量,类型名+*+指针名
。
7. 空指针是什么意思?NULL的值是多少?怎么知道或用什么手段知道NULL?答:空指针是没有指向一块有意义的内存。NULL是指向地址为0x00000000,其实内在地址的范围是0x00000000~0xffffffff,地址中的每一个字节都可以存储东西,但是系统由于某些原因考虑,0x00000000这个地址不用,所以返回指针为NULL一般代表错误,很多函数返回其他值是正确的地址。与空指针NULL判断
8. 指针变量必须有存储地址吗?可以存放如double类型的数据吗?答:必须有存储地址,不能存放double数据,指针的字节数不变,只是地址类型。
9. 任何类型的指针都占4Bytes内存,为什么?用什么手段可以获取出来?答:指针只是地址类型,没有*<