指针
指针就是地址,地址就是指针
&取地址运算符,*将地址内的值读出的运算符
指针变量==存放地址变量
为什么用指针???
1.变量的封装与调用,在调用的时候由于封装的数据是相同的但是里面的内存地址是不同的,所以我们会出现调用封装函数的时候的数据错误,所以我们用指针
2.指向固定的内存地址。
这两个的结合可以做到一个封装判断
#include<stdio.h>
//输入三个数abc不管怎么输入永远是abc最大是a的排序、
void PaiXu(int *a,int *b, int *c)
{
if(*a<*b)
{
int temp = *a;
*a = *b;
*b = temp;
}
if(*a<*c)
{
int temp = *a;
*a = *c;
*c = temp;
}
if(*b<*c)
{
int temp = *b;
*b = *c;
*c = temp;
}
}
int main()
{
int a;
int b;
int c;
puts("请输入三个数字");
scanf("%d%d%d",&a,&b,&c);
//函数排序
PaiXu(&a,&b,&c);
printf("排序后的结果为a:%d b:%d c:%d \n",a,b,c);
return 0;
}
而且可以使用指针指向数组中的地址
eg:
#include<stdio.h>
int main()
{
int arr[3] = {1,2,3};
int *p;
p = &arr[0];
return 0;
}
指针的增量和数组的关系
数组是连续的内存空间,指针就像游标卡尺指向其中一个空间