首页 > 代码库 > 随记-------不定期添加遗忘知识点
随记-------不定期添加遗忘知识点
1. 复合字面值
?
1 2 3 4 | char *get_status_str( int status) { return ( char *[]){ "linkdown" , "partial-linkup" , "full-linkup" , "N/A" }[status]; } |
2. 常量折叠
?
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> int main() { const int a=9; int *p=( int *)&a; *p=10; printf ( "%p %p\n" , &a, p); //0012FF7C 0012FF7C printf ( "a: %d , *p %d\n" ,a,*p); //a: 9 ,*p: 10 return 0; } |
具体参考:http://blog.csdn.net/yafeng_jiang/article/details/7101964
3. 系统里一些变量借来使用.
4. send recv并不是真正的发送接收,只是与socket缓冲区交互
5. 大小端转换
?
1 | #define CHANGE_ENDIAN_DW(data) (data<<24 | data>>24 | data>>8&0xff00 | data<<8&0xff0000) |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。