指针
指针是一种变量,它存储的是另一个变量的内存地址。指针在C语言中非常有用,因为它们可以用来直接操作内存,实现动态内存分配,以及通过引用传递参数等功能
内存
int main()
{
int a = 10; //a在内存中要分配空间的 —— 4字节
printf("%p\n", &a); // %p 专门用来打印地址的
int* pa = &a; // pa 是用来存放地址的,在C语言中 pa 叫指针变量// * 说明 pa 是指针变量
// int 说明 pa 执行的对象是 int 类型的
}
#include <stdio.h>
int main()
{
int a = 10;
int* Pa = &a;
*Pa = 20;
printf("%d\n", a);
return 0;
}
*Pa = 20; // * 了解引用操作 *Pa 就是通过 Pa 里的地址,找到 a
打印结果:
指针类型的大小
指针的大小都相同!指针是用来取地址的,指针需要多大空间,取决于地址储存需要多大空间
打印数据类型在指针所占字节大小
#include <stdio.h>
int main()
{
printf(" %d\n", sizeof(char*));
printf(" %d\n", sizeof(short*));
printf(" %d\n", sizeof(int*));
printf(" %d\n", sizeof(long*));
printf(" %d\n", sizeof(long long*));
printf(" %d\n", sizeof(float*));
printf(" %d\n", sizeof(double*));
return 0;
}
打印结果:
指针大小在 32 位平台占 4 个字节,64 位平台占 8 个字节