重温C语言--读C语言深度解刨有感

重温C语言–读C语言深度解刨有感
#C基础的温习
可以这样认为,很多语言都有C语言的影子。同样除了汇编语言,C语言是最靠近底层的语言。
自我认为,程序员编写程序或者设计架构的时候,一定得考虑程序运行的资源占用与释放问题,
毕竟绝大部分程序都是运行在操作系统上的。
定义:如:int i;
指编译器创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说
的变量名或对象名。
声明:如extern int i;
有两重含义:1、告诉编译器,这个名字已经匹配到一块内存上了,下面的代码用到变量或对象是
在别的地方定义的。声明可以出现多次。
2、告诉编译器,我这个名字先预定了,别的地方再也不能用它来作为变量名或对象名。
static修饰符–用来表示不能被其它文件访问的全局变量和函数:
修饰变量:无论是局部还是全局变量,它们都存在内存的静态区,当函数运行完时,静态变量也不会
释放,函数下次使用时,还会用到这个值。
修饰函数:指对函数的作用域仅局限于本文件,又称为内部函数。
对于循环语句的注意点:
在多重循环中,如果有可能,应将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨
切循环层的次数。
循环要尽可能的短,要使代码清晰,一目了然。

  1. 对于void指针:
    不能对void指针进行算法操作,ANSI标准坚持:进行算法操作的指针必须是确定知道其指向数据类型
    大小的。也就是必须知道内存目的地址的确切值。
  2. return关键字:
    return用来终止一个函数并返回其后面跟着的值。
    return语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结束时被自动销毁。
  3. const修饰的只读变量:
    定义const只读变量,具有不可变性。
    编译器通常不为普通const只读变量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译
    期间的值,没有了存储与读内存的操作,使得它的效率也很高。
  4. volatile关键字:
    它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或其他线程等。
    遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的
    稳定访问。
  5. struct关键字:
    将一些相关联的数据打包成一个整体,方便使用。
    空的结构体的大小定位为1个byte。
  6. 存储模式:
    大端模式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
    小端模式:字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。
  7. typedef关键字:
    给一个已经存在的数据类型(不是变量)取一个别名,而非定义一个新的数据类型。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值