知识一
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
printf("%25d", 1);
return 0;
}---------->
1
1前面有24个空格。
printf("%02d", 1);
如果不够两位,用0来填充。
指针
内存
指针是用来访问内存的。
内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。
为了有效的使用内存,就把内存划分为一个个小的内存单元,每个内存单元的大小是一个字节。
为了能够有效的访问到内存的每个单 元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
1比特存放一个二进制位。
1字节为8个比特。
一个内存单元的大小:一个字节。
计算机上有地址线(物理电线),通电后有高电平和低电平,转为数字信号1/0.
32位的机器,上面有32根地址线。产生2^32个可能、编号。
这些二进制转为十六进制表示,更清晰一点。
为420亿字节,4G。
这些编号去管理内存单元。
int a=15;
为向内存申请了四个字节的空间,用来存放15这个数。
虽然a占据四个字节,但我们取地址时,取得是a的第一个地址。
指针
int * pa=&a; pa用来存放a的地址,叫指针变量。
* 是说明pa是指针变量。
int 是说明pa指向的是int类型的变量。
指针有什么用呢?
知道了你的地址,就能找到你。
知道了变量的地址,就能通过指针去找到这个变量。
*pa 解引用操作符。通过pa里面的值,找到它所指向的内容。
*pa=a
指针变量的大小
指针是用来存放地址的,32位机器上:地址是32个二进制位,这个地址存储的话要四个字节,所以在32位机器上,指针变量的大小是四个字节。
64位机器上:地址是64个二进制位,这个地址存储的话要8个字节,所以在64位机器上,指针变量的大小是8个字节。
地址需要多大空间,指针变量就是多大空间。
结构体变量.成员
结构体指针->成员