《C和指针》阅读笔记--数据

《C和指针》阅读笔记--数据 第3章数据

3.1整型字面值

字面值是字面常量的缩写,这是一种实体,指定了自身的值,并且不允许发生改变。在缺省情况下字面值是最短类型但能完整容纳这个值。
在整型字面值后添加字符L或者l,可以是这个整数被解释为long整型值,字符U或者u用于把数字指定位usigned整型值;在数值前面以0开头表示八进制(在ASCI码中,\data表示八进制),以0x开头表示十六进制。
value = value - 48;
value = value - \60;
value = value - '\0';
三条语句含义一样,但是最后一条的含义更加明显。

3.2 基本声明

char *message = "Hello world!";
这种类型的声明所面临为一个危险是你容易误解它的意思。
在上一个声明中,看上去初始值是赋给表达式*message,事实上它是赋给message本身的,换句话说,前面一个声明相当于:
char *message;
message  = "Hello world";

3.3 typedef

应该使用typedef而不是#define来创建新的类型名,因为后者无法正确的处理指针类型。例如:
#define d_ptr_to_char char *
d_ptr_to_char a,b;
正确声明了a,但是b却被声明为一个字符。在定义更为复杂的类型名字时,如函数指针或指向数组的指针,使用typedf更合适。

3.4 常量

#define MAX_ELEMENTS 50
int const max_elements = 50;
在这种情况下,使用#define比使用const变量更好。因为只要允许使用字面值常量的地方都可以使用前者,比如声明数组的长度。const变量只能用于允许使用变量的地方。

3.5 作用域
3.6 链接属性
3.7 存储类型
3.8 static关键字

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值