指针的简单介绍与使用

89 阅读1分钟

引入

    在计算机中,每个变量都会存放在内中分配的一个空间,而每种类型的变量所占的空间又是不一样的,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;
}