C语言入门——指针(一)自学总结

小呆呆希望我的博文能够对朋友们有所帮助!!

下面是指针入门知识点总结:

看一段简单的代码

#include 
int main(void)
{
	//我们定义了一个 变量p,该变量是一个指针变量,存放了int类型变量的地址,p的数据类型:int *,*p的数据类型:int
	int * p ; 

	//我们定义了一个 变量i,该变量是一个普通变量
	int i=3;   

	//因为p变量未经过初始化,所以p的值是个垃圾值,该值的大小与操作系统有关,而且同一操作系统,每次都一样
	printf("%d\n",p);//-858993460  

	// 1245048 为 i变量的地址
	printf("%d\n",&i);//1245048    	
	
	//将i的地址取出来,则等式右边变成了一个指针变量,然后将该部分 赋给 p,则 *p 与 i完全等价
	p=&i;/*p保存了i的地址*/      
	printf("%d\n",i);//3
	printf("%d\n",&i);//1245048
	printf("%d\n",p);//1245048
	
	//当i的值改变后,*p 发生了变化,p却没有变化,说明无论i如何改变,内存地址不会变,变量的仅是该地址保存的值
	i=5;
	printf("%d\n",*p);//5       
	printf("%d\n",p);//1245048  
	
	//同上,p指针指向的地址的值变了,i变量指向的值也变了	
	*p=7;
	printf("%d\n",*p);//7	     
	printf("%d\n",i);//7         
	printf("%d\n",p);//1245048   
  
	return 0;
}








你可能感兴趣的:(C/C++)