C和指针(第六章)

最近这几天,书的毛 都没碰…沉迷于小说的世界无法自拔,虽然我们都不是作者笔下小说中的主角,但是我们可以做自己生活的主角,我始终相信着自己是自己的主角,无论情况再差,现实再残忍.6.1内存和地址<1>一个’字’通常包含四个(或两个字节),每个字节包含八个位,每个位存放0或者1,这样一个字就可以表示02^32-1(无符号整形),或-2^32-12^32-1.<2>我们定义的变量的名称和里面储存的数值的对应关系是由编译器决定的,不是硬件.但是硬件还是通过地址访问内存位置6.2值和类
摘要由CSDN通过智能技术生成

最近这几天,书的毛 都没碰…沉迷于小说的世界无法自拔,虽然我们都不是作者笔下小说中的主角,但是我们可以做自己生活的主角,我始终相信着自己是自己的主角,无论情况再差,现实再残忍.

6.1内存和地址
<1>一个’字’通常包含四个(或两个字节),每个字节包含八个位,每个位存放0或者1,这样一个字就可以表示02^32-1(无符号整形),或-2^32-12^32-1.
<2>我们定义的变量的名称和里面储存的数值的对应关系是由编译器决定的,不是硬件.但是硬件还是通过地址访问内存位置

6.2值和类型
<1>不可以简单的通过检查一个值的位来判断它的类型,这取决于编译器的解释指令,若是解释为整形算术指令,就是整形,若是解释为浮点型算术指令,就算是浮点数类型.

6.3指针变量的内容
指针变量的内容存的是地址,通过访问地址来访问它指向的内容
int p=10;
int *a=p;
cout<<*a;

6.4间接访问操作符
'*a’这种东西是通过一个指针a来访问a所指向的内容,a本身存放着所指向变量的地址

6.5未初始化和非法的指针
int *a;

*a=12;
那么a到底指向了哪里呢?,如果运气好,编译器会报错,否则可能会导致很严重的后果,比如,万一指针指向了一个你已经创建的变量怎么办?你在debug的时候可能会 心态炸裂 极度难受~~~

6.6NULL指针
标准的NULL指针,不指向任何东西,要是一个指针为NULL,你可以赋值为0,比如
int *a=NULL;

int a=0;
这两个语句等价
如果你访问
a的话,一般会出错,更重要的是,不要访问NULL!!!
不论如何,所有指针变量的初始化都应该自己来写,为了程序一遍通关,怎么可以偷懒呢?!

6.7指针.间接访问.左值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shallow_Carl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值