一、指针(地址)
内存:为了有效使用内存,把内存划分为一个个小的内存单位,每个内存单位的大小为一个字节。为了能够有效的访问到内存的每个单位,给内存进行了编号,从0开始,编号被称为该内存单位的地址。
①
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 10; //a在内存中要分配四个字节的空间
printf("%p\n", &a);//%p专门用于打印地址
int* pa = &a; //pa用来存放a的地址,在C语言中,pa叫做指针变量,*说明pa是指针变量,int说明pa的执行对象是int类型
return 0;
}
②
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int num = 10;
int* p = #
*p = 20; //*为解引用操作符|*p就是通过p里的地址找到num
printf("%p\n", &num); //*p=20,所以num=20
return 0;
}
输出结果:20
图示:
地址取编号最小的地址。
二、指针变量的大小
①指针变量的大小取决于地址的大小。
②32位平台下是4个字节,64位平台下是8个字节。