目录
一、指针是什么?
指针是内存单元中一个最小单元的编号,即地址。
口语中所说的指针是指指针变量,是用来存放内存地址的变量。
案例:
#include<stdio.h>
int main()
{
int a = 10;//在内存中开辟一块空间
int* p = &a;//这里我们对变量a,取出它的地址,可以使用&操作符
//a变量占用4个字节的空间,这里是将a的4个字节的第一个字节的地址存放在p变量中,p就是一个指针变量
return 0;
}
另外,在32位机器上,指针变量大小是4个字节;在64位机器上,指针变量大小是8个字节。
二、指针和指针类型
char* pc = NULL;//存放char类型变量的地址
int* pi = NULL;//存放int类型变量的地址
short* ps = NULL;//存放short类型变量的地址
long* pl = NULL;//存放long类型变量的地址
float* pf = NULL;//存放float类型变量的地址
double* pd = NULL;//存放double类型变量的地址
(1)指针的类型决定了指针向前或向后跳过几个字节
案例:
#include <stdio.h>
int main()
{
int n = 10;
char* pc = (char*)&n;
int* pi = &n;
printf("%p\n", &n);
printf("%p\n