引入
在计算机中,每个变量都会存放在内中分配的一个空间,而每种类型的变量所占的空间又是不一样的,int占4Byte等等。每个字节(即房间)都会有一个地址(即房间号),这里的地址就起房间号的作用,即变量存放的位置,而计算机就是通过地址找到某个变量的。变量的地址一般指它所占用的字节中第一个字节的地址。
指针简单理解而言就是变量的地址,是一个unsigned类型的整数。
使用
//定义
int a,b[10];
int *p,*q;
p = &a;
q = b;
//访问
int c = *p;
int d = *(q+i);
使用指针作为参数,交换两个数
#include <stdio.h>
//方法一
void swap(int* a,int* b){
int temp = *a;
*a = *b;
*b = temp;
}
//方法二
void swap(int* a,int* b){
int x;
int* temp = &x;
*temp = *a;
*a = *b;
*b = *temp;
}
int main(){
int a = 1,b = 2;
int *p1 = &a,*p2 = &b;
swap(p1,p2);
printf("a = %d, b = %d\n",*p1,*p2);
return 0;
}