C陷阱与缺陷

1. <C陷阱与缺陷>

int num[10]={0} ;

测试一下 num[0] 是否 等于 0[num] 。。。。。。

因为num是首地址 num+0 ==0+num

2.

其实C中只有一维数组 我们所说的 int a[3][4] 只是一个包含了三个元素 每个元素都是包含了四个整形值的一维数组

3.int num[10][10] ;

int *p=num[0] ;

名为num的数组中 num[0]-num[9]表示的是 每个长度为10的一维数组 元素的首地址

4.(* (void (*)())0)() ; //眨眼一看很难看懂 其实这就是一个函数指针的问题 调用 0地址的函数 考试的时候我以为是 数值的强制转换 郁闷了。。。。

5. a++++b 会报错 a++ + ++b 不会错 因为 词法分析器 会自左向右 结合字符来组成 运算符 a++后位一个数值 如果a++++那么 一个数值的自加是不是没意义呢

6. a<<3+ 5 (a<<3)+5 意思完全不同 运算符优先级问题

7.if

(

1

<

2

) //这样编译器也能通过

8.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值