《C专家编程》读书笔记(三)
摘要:char * const *(*next)();next 是一个函数指针,它指向一个函数该函数没有参数,返回类型为一个指针类型该指针指向一个类型为 char 的常量指针函数的返回值不能是一个函数函数的返回值不能是一个数组函数的返回值允许是一个函数指针函数的返回值匀速是一个指向数组的指针数组里面允许有函数指针数组里面允许有其他数组关于结构(struct)结构就是一种把一些数据项组合在一起的数据结构。其他编程语言把它称为记录(record)。结构的内容可以使任何其他数据声明:单个数据项、数组、其他结构、指针等。结构的通常形式:struct 结构标签(可选){ 类型 标识符; 类型 标识...
阅读全文
《C专家编程》读书笔记(二)
摘要:By:LShangBlog:http://www.cnblogs.com/LShang提示一如果遇见了这样一条语句 malloc(strlen(str));,几乎可以断定它是错误的,而 malloc(strlen(str)+1);才是正确的。这是因为其他的字符串处理库函数几乎都包含了一个额外空间,用于容纳字符串结尾的‘\0’字符。所以,人们很容易忽略 strlen 这个特殊情况。提示二一个 ‘L’ 的 NUL 用于结束一个 ASCⅡ 字符串,ASCⅡ字符串中的零的位模式被称为 ‘NUL’两个 ‘L’ 的 NULL 用于表示什么也不指向(空指针),哪里也不指向的特殊指针值是 ‘NULL’C 语言
阅读全文
《C专家编程》读书笔记(一)
摘要:By:LShangBlog:http://www.cnblogs.com/LShangC 语言的发展1965-7(BCPL)->1969(B)->1971(New B)->1972-3(早期的C)->1976-9(K&C)->1983-9(ANSI C)->C 的许多特性是为了方便编译器设计者而建立的数组下标从0开始(定义数组a[100]的合法范围是a[0] ~ a[99])基本数据类型直接与底层硬件对应auto关键字只对创建符号表入口的编译器设计者有意义(进入程序块时自动分配内存)表达式中的数组名可以看作是指针(并非永远如此)float会被自动扩展
阅读全文