c与指针c陷阱与缺陷c专家编程.doc

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c与指针c陷阱与缺陷c专家编程

《C和指针》 《C专家编程》 《C陷阱与缺陷》 《C语言编程要点》 《编程精粹--Microsoft编写优质无错C程序秘诀》 总 结 说明:总结的知识点主要源于上面的4本书,《编程精粹--Microsoft编写优质无错C程序秘诀》这本书未做总结,该书有清晰版的pdf格式的电子版。 --wuliming --2007-04-25 wuliming_sc@163.com 指针和数组相关概念 ************************************************* 字符与字符串的区别 指针与数组1 指针与数组2 指针和数组的相同与不同 用malloc为字符串分配存储空间时的注意事项 作为常数的数组声明(c缺陷与陷阱3.3节.在其它部分有包含该节的知识点,了解or略过) 字符串常量 用字符串常量初始化指针和数组 二维数组下标操作的相关概念 指向一维、二维数组的指针 array_name和array_name的异同 数组作为函数的参数时,不能通过sizeof运算符得到该数组的大小 用strlen()求字符串的长度 ‘char **’ 和 ‘const char **’的兼容性问题 空指针相关的问题 NULL和NUL的区别 未初始化的指针和NULL指针的区别 理解函数的声明 函数参数的传值调用 函数指针 作为函数参数的多维数组 强制类型转换相关概念 可变参数相关问题 malloc()、calloc()、realloc() 在程序退出main()函数之后,还有可能执行一部分代码吗? 总线错误和段错误相关概念 数字和字符串之间转换相关的函数 ************************************************* 怎样判断一个字符是数字、字母或其它类别的符号? 怎样将数字转换为字符串? 怎样将字符串转换为数字? 字符串以及内存操作相关函数 ************************************************* 字符串拷贝和内存拷贝函数: strcpy strncpy memcpy memmove memccpy bcopy 字符串和内存数据比较函数: strcmp strcasecmp strncasecmp memcmp strcoll bcmp 连接字符串的函数: strcat strncat 查找字符/字符串的函数: strstr strchr strrchr memchr 其它相关的函数: index rindex strlen strdup memset bzero strspn strcspn strpbrk strtok 数据结构及算法相关函数 qsort() bsearch() lsearch(线性搜索) lfind(线性搜索) srand(设置随机数种子) rand(产生随机数) OTHER ************************************************* 什么是标准预定义宏? 断言 assert(表达式) 相关概念 连接运算符“##”和字符串化运算符#有什么作用? 注释掉一段代码的方法 Typedef相关概念 = 不同于 == 词法分析中的“贪心法” 运算符的优先级问题 变量的存储类型及初始化相关概念 左值和右值相关的概念 变量的值和类型相关的概念 怎样删去字符串尾部的空格? 怎样删去字符串头部的空格? 怎样打印字符串的一部分? 结构的自引用 结构的存储分配 边界计算与不对称边界 整数溢出 返回整数的getchar函数 更新顺序文件 随机数的相关概念 用递归和迭代两种办法解fibonacci #include stdio.h int main() { char ch = abcdefghijklmnopqrstuvwxyz; char str[] = abcdefghijklmnopqrstuvwxyz; printf(-----%c-----\n%s\n,ch, str ); return 0; } 编译该程序可以通过,但是会产生警告;输出结过为: -----z----- Abcdefghijklmnopqrstuvwxyz // 在Dev-C++ 编译环境中可以通过,但是在VC.0中通不过 指针与数组1(c缺陷与陷阱3.1节) c语言中的数组值得注意的地方有以下两点: 1、c语言中只有一维数组,而且数组的大小必须在编译期间就作为一个常数确定下来(C99标准允许变长数组,GCC编译器中实现了变长数组)。然而,c语言中数组的元素可以是任何类型的对象,当然也可以是另外一个数组。这样,要仿真出一个多维数组就不是一件难事。 2、对于一个数组,我们只能够做两件事:

文档评论(0)

sandaolingcrh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档