【跟着小甲鱼学C语言】拾遗

拾遗

1.static和const区别

const的意思是“常量”,也就是说变量一旦被定义就不能被修改,即是说变量是一个右值
static的意思有两层。第一层是当它作用在函数名或者全局变量上时,这时static关键字会把这两者的extern链接属性修改为internal。第二层是当static作用在局部变量上时,存放这个局部变量的内存空间在被定以后就不会释放,哪怕重新定义这个变量也不行,直到程序结束内存才会释放。

2.左值和右值

定义:lvalue(locator value)代表一个在内存中占有确定位置的对象(换句话说就是有一个地址)。 rvalue通过排他性来定义,每个表达式不是lvalue就是rvalue。因此从上面的lvalue的定义,rvalue是在不在内存中占有确定位置的表达式。
根据以上定义,右值没有一个确定的内存空间与之对应,所以没有办法赋值。

3.链接属性和作用域的区别和联系

linkage是针对声明而言的,只有三种:

external,可以同时在多个文件中声明,表示同一个对象或函数
internal,可以在本文件中声明多次
none,只能声明一次

编译器确定标识符的 linkage 的时候会考虑到标识符所在的 scope ,但是和scope不是一回事。linkage不用多文件编译的话用不着。

4.函数可变参数

#include<stdio.h>
#include<st
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值