初识指针、初始结构体学习小结

初识指针、初始结构体学习小结

一、内存

内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。 所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。 为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。

image-20220411152543927

对于32位计算机来说,一共拥有32根地址线,即“1”或“0”的交替显示。(电信号转换成数字信息,即二进制序列)

例如:

image-20220411153541661

2的32次方个序列每一个对应一个内存单元,2的32次方转换为十进制为:4,294,967,296

image-20220411153931077

一个内存单元所占大小是一个字节,即1Byte。

4,294,967,296 byte = 4,194,304 kb = 4,096 mb = 4 gb 因此一个32位计算机可以存储4gb 的内存。

同理可以计算出64位机器的内存。

二、指针

(一)为何要用指针;指针有什么作用

有上面可知,一个内存单元占据一个字节,如果初始化一个变量 ‘a’,那它会占据4个内存单元。

#include <stdio.h>
int main()
{
   
	int a = 1;
	printf("%zu", sizeof(a));
	return 0;
}
image-20220411165501930

地址以十六进制表示,‘a’ 一共对应四个字节,但是以第一个数字为a的序号,a的四个字节对应的每一个都有对应数:

image-20220411165948126

那么如何打印出‘a’的地址呢:

这里需要用到“%p”作为取地址的符号:

#include <stdio.h>
int main()
{
   
	int a = 1;
	printf("%p", &a);   //不同编译器,不同时期打印结果不同
	return 0;
}
image-20220411170245127
那么如果想让"&a"存起来该如何呢?
 //   P = &a;  这一步是把&a存放在P里。
 //  那P的类型是什么呢?  P里装的是地址
  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值