C语言指针入门

        内存会划分为一个个内存单元(一个内存单元的大小为1byte),每个内存单元都有一个编号。32位的电脑有2^32个内存地址序列。

        如果一个地址序列管理一个内存单元,那么电脑就能管理2^32个字节,即4294967296个字节,是4294967296/1024=4194304kb,是4194304/1024=4096MB,是4GB.

比如a:

  地址也被称为指针,存放指针或者说地址的变量就是指针变量

 通过对指针的解引用找到指向的对象:

   指针变量的大小取决于一个地址存放的时候需要多大的空间。32位机器上的地址:32bit位,4个字节,所以指针变量的大小是4byte。 

注意:

两个地址或者说两个指针相减,得到的相差的类型的个数。

 

 注意:

注意这个a[0]的值通过指针改变了。所以打印的是6。

1. *p=&a[1]时,指针指向数组的第二个元素;

2. y=(*--p)++;时,先执行括号里面的*--p,先进行自减,也就是说此时指针p向前移动了一格,即此时指向数组的第一个元素。

3. y=(*p)++;先把此时p所指的值赋值给y,即第一个元素5,然后做自增运算,即p所指的值增加了1,为6,输出数组的第一个元素a[0]为6。

 注意:

指针变量是可以指向数组后的内存单元的:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值