《C专家编程》读书笔记
《C专家编程》是一本94年出版的讲语言的书,如今二十一世纪都已经过去十年多了,书上很多东西是不是依旧有用将是本文将要解答的问题。
尽量不要使用无符号数 当无符号数与有符号数再一起使用时,有符号数会被强转为无符号数。
1 2 3 4 int value_int = -1; unsigned int value_uint = 5; int result = (value_int < value_uint) ? 1 : 0; printf("%d\n",result);// 结果为0 解释:C在计算含有不同类型表达式时,会将类型向上提升,上面代码中的int被提升为了unsigned int,使-1的补码被解析为很大的整数。
相邻的自字符串会被合并 1 2 char *str[] = {"hehe" "lala","woca"}; printf("%s",*str);// hehelala 优先级的问题 . 比 * 高:
1 2 *value.func --> *(value.func) [] 比 * 高:
1 2 int *array[] --> int *(array[]) // array[]的元素为int* 函数() 比 * 高: