【摘要】:数组的指针是指数组在内存中的起始地址,用数组名来表示,表示数组的第一个元素在内存中的地址。假设数组a的首地址是0x3000,即a的值是0x3000。例9.3 利用数组下标法输出数组全部元素的地址。在for循环结构中,通过调用printf()函数依次输出数组各元素的地址。
数组的指针是指数组在内存中的起始地址,用数组名来表示,表示数组的第一个元素在内存中的地址。例如:
inta[6];
数组名a就是该数组的起始地址&a[0],也就是该数组的指针。因此,可以用指针和数组名来引用数组元素。
例如:
程序段一:
int a[6] ;
int i;
for (i=0;i<6;i++)
a[i] =i; //利用数组名加下标引用数组元素
程序段二:
int a[6] ;(www.daowen.com)
int i ;
f o r ( i =0;i <6;i ++ )
* (a+i) =i; //利用数组的指针引用数组元素
两段程序是等价的。假设数组a的首地址是0x3000,即a的值是0x3000。因为数组a为整型数组,每个元素占4个字节,因此第一个元素a[0]的地址是0x3000,第二个元素a[ 1]的地址是0x3004(即a+1),依此类推,a[2]的地址为0x3008(即a+2),……,a[i]的地址为a + i * 4(即a+i)。所以,* (a +i)就是对a[i]的引用。
例9.3 利用数组下标法输出数组全部元素的地址。
编写程序:
创建一个名为“eg9_3.c”的新文件,在编辑窗口中输入下面的程序代码。
运行结果:
程序说明:
本程序首先定义整型数组,通过调用printf()函数输出数组名。在for循环结构中,通过调用printf()函数依次输出数组各元素的地址。从程序的运行结果可以看出:数组名表示的地址与第一个元素的地址相同,说明数组名就是该数组的首地址。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关C语言程序设计应用教程的文章