牛骨文教育服务平台(让学习变的简单)
博文笔记

(九)C语言数组的取值,取地址。

创建时间:2016-12-22 投稿人: 浏览次数:2295

C语言数组的取值与取地址的方式


#include <stdio.h>

void main(){
	int iArray[] = {1,2,3};
	
	int j;
	for(j=0;j<3;j++){
		//常见取值方式,类java 
		printf("iArray[%d]=%d
",j,iArray[j]);
		
		//常见取地址方式
		printf("iArray[%d]内存地址=%#x
",j,&iArray[j]); 

		//第二种取地址方式	 
		printf("iArray[%d]内存地址=%#x
",j,iArray + j); 	
		
		//根据上面取地址方式,可以衍生出一种取值的方式,既然知道了地址
		//那进行一次指针运算,就取到了对应的值。
		printf("iArray[%d]=%d
",j,*(iArray + j)); 
		printf("iArray[%d]=%d
",j,*(&iArray[j]));
		
		printf("---------------
");
	} 
} 


有最常见的根据索引取值,与java相同。以及最常见的通过&符号取地址的值。

也有其他取地址的值得方式。值得注意的是,我们上边通过取出地址,直接通过 * 进行指针运算,便可以得到对应的值。

这里可以看到,我们并没有声明声明指针变量,便可以使用*,这也验证了我所说的 * 的出现,除了在定义指针变量的时候,其他情况下是作为一个动词出现的,它的出现就代表着是一次指针运算。


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。