初识C语言:指针
1.内存
- 内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的。
- 所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。
- 为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
int main()
{
int a = 10;//a在内存中要分配的 - 4个字节
printf("%p\n", &a);//%p 专门用来打印地址的
int * pa = &a;//pa是用来存放地址的,在C语言中pa叫作指针变量
//* 说明pa是指针变量
//int 说明pa指向的对象是int类型的
char ch = 'w';//ch是存放w的变量
char * pc = &ch;//pa是用来存放地址的,在C语言中pa叫作指针变量
return 0;//char说明pc指向的对象是char类型的
}
结果为:0055FC2C
int main()
{
int a = 10;
int * pa = &a;
*pa = 20;//* 解引用操作符 *pa就是通过pa里边的地址,找到a
printf("%d\n", a);
return 0;
}
注:指针就是地址
2.指针的大小
指针的大小是相同的!
为什么呢?
指针是用来存放地址的!
指针需要多大空间,取决于地址的存储需要多大空间
32位 32bit - 4byte
64位 64bit - 8byte
注:指针的大小在32位平台是4byte,在64位平台是8byte。