第5章 指 针
学习和解题要点
内存空间和地址:C程序中定义的任何类型的变量,相当于在计算机内存中开辟存贮空间。
每个空间除了有名称(变量名)可放什么样的数值类型之外,还有一个地址的概念。如:
int i,j “为可放整型的名叫i和j的变量,则它们的地址分别为i,j。
一维数组的名称(数组名)即为地址,如int a[20]则a即为地址,也代表第一个元素a[0]的地址a[0],二维数组的int b[3][4];数组名b也是地址,但它不能代表第0行第0列元素的地址。
对二维数组这里有二个层次的地址概念。二维数组b可以看成三个一维数组组成,它们的名称分别为b[0],b[1],b[2]。b[0][0],b[1][0] ,b[2][0]三个第一个元素(每个是一个整数)的地址。
这时b可以看成大元素的(每个元素为4个整数)的数组的地址了,因此b就不是简单的一个整数的地址,也就是说b(也可写成b+0)代表了b[0]的地址,b+1代表了b[1]的地址。
b b[0] b[1] b[2] 以上讲的地址 i,b[0],bint i,*p;p* 特别标明以示与i的区别。因此这里 * 是一个记号表示p与i不同,是指针变量。p可以放一个地址数但又不是任何的地址数,只可放整型数的地址,如p=i;因此int *p有三个意义:①说明p是变量
原创力文档

文档评论(0)