- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)