C语言笔记之技巧

1.要从逻辑上删除一段C代码,更好的办法时使用#if指令。
#if 0
statements
#endif
使用/* */虽好,但是当某段代码之中如果原来就有注释存在,这种方法就不能奏效。

2.在C语言中,数组参数是以引用的形式进行传递的,也就是传址调用,而标量和常量是按值传递的。在函数中对标量参数的任何修改都会在函数返回时丢失。
所有传递给函数的参数都是按值传递的。

3.C语言并不存在“string”数据类型,但是在整个语言中,存在一项约定:字符串就是一串以NUL(一个NUL字节是指字节模式全为0的字节,类似‘\0’这样的字符常量)字节结尾的字符。NUL作为字符串终止符,它本身并不被看做字符串的一部分。

4.标准并没有硬性规定C编译器对数组下标有效性检查,而且绝大多数C编译器确实也不进行检查。

5.一个变量ch被申明为整型,而实际上却被用来读取字符。这是因为EOF是一个整型值,它的位数比字符类型要多。把ch申明为整型值能防止从输入读取的字符意外地被解释为EOF。

6.字符串通常存储在字符数组中,这也是C语言没有显式的字符串类型的原因。NUL字符串不是一个可打印的字符,这是它被选择为字符串的终止符的原因。即使是空字符串(“”),依然存在作为终止符的NUL字节。你可以把字符串常量赋值给一个“指向字符的指针”,但是,你不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值