指针基础


打印变量的地址:

	int a = 1;
	int b = 2;
	printf("%p\n", &a);//%p 用于打印指针的16进制地址

指针占用的字节数

printf("%d\n", sizeof(&a));//输出4 指针占用4个字节

指针的两个类型

//指针的类型:去掉变量名,剩下的就是指针的类型 例如:int* char*

//指针指向的类型://去掉变量名和*,剩下的就是所指向的类型(就是指针要操作的数据类型)

指针变量

指针变量就是用于存放指针的变量, 存什么就叫什么变量 例如常见的  整数变量,小数变量,char变量

	int* p;  
	char* pc;
	double* pd;
	//以上 p  pc  pd 就是指针变量

指针的运算

&用于取变量的地址

*指针变量:取值运算

#include <stdio.h>

int main(){

	int a = 100;
	int* p = &a;

	printf("%d\n", *p);//*p 取指针的值,也叫解引用 
	printf("%d\n", *&a);//取a的地址是一个指针   再用*指针 取里面的值
	//以上两行均输出100

	getchar();
	return 0;
}

 偏移运算:

p+n或者p-n , p++,p--

实际内存的偏移位置为  p+sizeof(指向的数据类型)