------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
指针
一、指针的作用
指针变量的实质就是存储地址,通过指针来间接访问存储空间。指针能够根据一个地址值来找到对应的存储空间,并且可以进行访问。
二、指针变量的定义
定义指针变量的一般格式为
五、指针变量在内存的情况
变量类型 *指针变量名1,*指针变量名2,... *指针变量名n ;
三、int *p和*p的区别
int *p;
*p=20;
前者*P只是指针变量的一个标识;后者*p是对指针变量存放地址的存储空间的访问.
四、利用指针返回多个值
当利用一个函数时,求多个值的时候,我们可以利用指针返回。比如:输入两个数,打印(printf)这两个数的和、差、积、商、以及余数。
#include <stdio.h>
void yunsuan(int m,int n,int *p,int *p1,int *p2,int *p3,int *p4 );
int main()
{
int a,b,sum,minus,product,shang,yushu;
scanf("%d %d",&a,&b);
yunsuan(a,b,&sum,&minus,&product,&shang,&yushu);
printf("a与b的和为%d\n差为%d\n积为%d\n商为%d\n余数为%d\n",sum,minus,product,shang,yushu);
return 0;
}
void yunsuan(int m,int n,int *p,int *p1,int *p2,int *p3,int *p4 )
{
*p=m+n;
*p1=m-n;
*p2=m*n;
*p3=m/n;
*p4=m%n;
}
五、指针变量在内存的情况
不管什么类型的指针,在内存中占有的内存都是8个字节。既然占相同的内存,那为什么分字节呢?
原因:指针类型是在利用指针取值或者赋值的时候起作用。如果错用指针类型,那将可能取数值或者赋值得不到你想要的结果。