c与指针读书笔记01

长整形至少应该和整形一样长,而整形至少应该和短整形一样长.
常量指针就是指向常量的指针,指针所指向的地址的内容是不可修改的.
const int *p=&a;
指针常量就是是指针的常量,它是不可改变地址的指针,但是可以对它所指向的内容进行修改。
int a; int * const p=&a;
四种作用域,文件作用域,函数作用域,原型作用域,代码块作用域

链接属性:
internal,external,none

static关键字
只能将internal属性改成external属性

extern关键字
在首次定义时,可设置变量为external属性,但如果这变量已具有链接属性,则不能更改其链接属性

存储类型
有三个地方可以存储,普通内存,运行时堆栈,硬件寄存器
代码块之外申明的变量总是存储于静态内存中,也就是不属于堆栈的内存。普通内存。这类变量成为static变量
在代码块之内申明的变量的缺省存储类型是自动的。也就是说它存储于堆栈中。称之为auto变量。在程序执行到申明自动变量的时候,自动变量才被创建。当程序的执行离开该代码快,自动变量则被销毁。
在代码块内部申明的变量,如果给它加上关键字static.则可以使它的存储类型由auto转变为static,具有static存储类型的变量在整个程序执行过程中一直存在,而不仅仅是在申明它的代码快的执行时存在.
关键字register可以用于自动变量的申明,提示它们应该存储在机器的硬件寄存器而不是内存中。这类变量称为寄存器变量
但编译器并不一定要理睬register关键字,如果有太多的变量被申明为register.它只选取几个实际存储于寄存器中,其余的就按照普通变量处理

机器不向你提供寄存器的地址

自动变量和静态变量的初始化存在区别。静态变量的初始化是原生的。自动变量的初始化是由编译器插入一条隐式的赋值语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值