一、指针(地址)
内存:为了有效使用内存,把内存划分为一个个小的内存单位,每个内存单位的大小为一个字节。为了能够有效的访问到内存的每个单位,给内存进行了编号,从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个字节。
本文详细介绍了C语言中的指针概念,包括内存地址的编号原理、如何通过指针访问内存和修改变量值,以及不同平台下指针变量的大小。通过代码示例和32/64位平台的对比,帮助读者理解指针的基础知识。
1006

被折叠的 条评论
为什么被折叠?



