1.指针是什么?
指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元
#include <stdio.h>
int main()
{
int a = 10;//在内存中开辟一块空间
int *p = &a;//这里我们对变量a,取出它的地址,可以使用&操作符。
//将a的地址存放在p变量中,p就是一个之指针变量。
return 0;
}
- 指针是个变量,存放内存单元的地址(编号)。
- 指针就是变量,用来存放地址的变量(存放在指针中的值都被当成地址处理)。
总结: 1> 指针是用来存放地址的,地址是唯一标示一块地址空间的。 2> 指针的大小在32位平台是4个字节,在64位平台是8个字节。
2.指针定义及类型
指针分为许多不同类型,根据需求进行定义使用.
char *pc = NULL;
int *pi = NULL;
short *ps = NULL;
long *pl = NULL;
float *pf = NULL;
double *pd = NULL;
指针定义方式: type + *.
其实char* 类型的指针是为了存放 char 类型变量的地址。 short* 类型的指针是为了存放 short 类型变量的地址。 int* 类型的指针是为了存放 int 类型变量的地址。
3.指针应用
<1>指针*操作(解引用操作)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 0x11223344;
char *pc = (char *)&n;
int *ps = (int*)&n;
printf("%p\n"