指针王者就这?

“程序员就在于不放弃任何一个疯狂操作的机会”

我们存储东西时给计算机编写了地址,而内存也是一样,就像楼一样,一个一个格子一层一层的

那么有几个问题:

1.内存是怎么编号的2.一个内存格子是多大空间

首先,32位机器,64位机器指的是地址线,可以通电,正电是1,负电是0,我们利用此把电信号转化为数字信号,这就是二进制序列。

如果是32位机器,我们把32位排列组合所有的可能,即2的32次方,作为编号,来作为地址分配给每一个内存单元。一个内存单元给1字节byte的存储空间

我想取一个地址,a不是占4个字节吗?我们取到第一个地址就行,取到第一个就能顺次找到后面的

但地址也要存吧,而pa就是存放地址的,所以pa就叫指针变量,写法是int * pa=&a;这个*就是提示计算机,pa是指针,而int是指针执行的对象是int类型的,同理,比如我要整个字符类型的,就这么写:char*pc=&ch;

(怎么感觉指针就是存地址用的呢)

那取地址干嘛呢?怎么找他呢?

*pa=20;//*pa就是通过pa里面的地址找到a,能改a的值

*就是解引用操作符(我费了这么大劲就是为了改个数?)(指针好像就是地址。。。)

附带小菜:

//int main()

//{

//        int* pa = &pa;

//

//        return 0;

//}//F10调试找地址

//指针 就是 地址

//int main()

//{

//        int a = 10;

//

//        int* pa = &a;

//

//        *pa = 20;//* 解引用操作 | *pa就是通过pa里边的地址,找到a

//

//        printf("%d\n", a);

//

//        return 0;

//}//(指针找地址“抄家”就为了改个函数值?总感觉学了个寂寞)

32位机器指针的大小是相同的,都是4,不信sizeof自己去求,64位的都是8,为啥是这样,因为指针服务于地址,地址需要多大,配套指针多大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值