c语言要点总结

c语言要点总结

ID:34362350

大小:1.82 MB

页数:36页

时间:2019-03-05

c语言要点总结_第1页
c语言要点总结_第2页
c语言要点总结_第3页
c语言要点总结_第4页
c语言要点总结_第5页
资源描述:

《c语言要点总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.《C和指针》《C专家编程》《C陷阱与缺陷》《C语言编程要点》总结说明:总结的知识点主要源于上面的4本书。--wuliming--2007-04-25wuliming_sc@163.com...指针和数组相关概念*************************************************字符与字符串的区别指针与数组1指针与数组2指针和数组的相同与不同用malloc为字符串分配存储空间时的注意事项字符串常量用字符串常量初始化指针和数组二维数组下标操作的相关概念指向一维、二维数组的指针arr

2、ay_name和&array_name的异同数组作为函数的参数时,不能通过sizeof运算符得到该数组的大小用strlen()求字符串的长度‘char**’和‘constchar**’的兼容性问题空指针相关的问题NULL和NUL的区别未初始化的指针和NULL指针的区别理解函数的声明函数参数的传值调用函数指针作为函数参数的多维数组强制类型转换相关概念malloc()、calloc()、realloc()...字符与字符串的区别(c缺陷与陷阱1.5节)#includeintmain(){char

3、ch='abcdefghijklmnopqrstuvwxyz';charstr[]="abcdefghijklmnopqrstuvwxyz";printf("-----%c-----%s",ch,str);return0;}编译该程序可以通过,但是会产生警告;输出结过为:-----z-----...Abcdefghijklmnopqrstuvwxyz//在Dev-C++4.9.9.2编译环境中可以通过,但是在VC.0中通不过指针与数组1(c缺陷与陷阱3.1节)c语言中的数组值得注意的地方有以下两点:1

4、、c语言中只有一维数组,而且数组的大小必须在编译期间就作为一个常数确定下来(C99标准允许变长数组,GCC编译器中实现了变长数组)。然而,c语言中数组的元素可以是任何类型的对象,当然也可以是另外一个数组。这样,要仿真出一个多维数组就不是一件难事。2、对于一个数组,我们只能够做两件事:确定该数组的大小,以及获得指向该数组下标为0的元素的指针。其他有关数组的操作,哪怕它们乍看上去是以数组下标进行运算的,实际上都是通过指针进行的。换句话说,任何一个数组下标运算都等同于一个对应的指针运算,因此我们完全可以依据指针行为

5、定义数组下标的行为。现在考虑下面的例子:inti;int*p;intcalendar[12][31];上面声明的calendar是一个数组,该数组拥有12个数组类型的元素,其中的每个元素都是一个拥有31个整型元素的数组。因此,sizeof(calendar)的值是:31×12×sizeof(int)。考虑一下,calendar[4]的含义是什么?因为calender是一个有着12个数组类型元素的数组,它的每个数组类型元素又是一个有着31个整型元素的数组,所以calendar[4]是calendar数组的第5个

6、元素,是calendar数组中12个有着31个整型元素的数组之一。因此,calendar[4]的行为也表现为一个有着31个整型元素的数组的行为。例如,sizeof(calendar[4])的结果是:31×sizeof(int)。又如,p=calendar[4];这个语句使指针p指向了数组calendar[4]中下标为0的元素。因为calendar[4]是一个数组,我们可以通过下标的形式来指定这个数组中的元素:i=calendar[4][7],这个语句也可以写成下面这样而表达的意思保持不变:i=*(calend

7、ar[4]+7),还可以进一步写成:i=*(*(calendar+4)+7)。下面我们再看:p=calendar;这个语句是非法的,因为calendar是一个二维数组,即“数组的数组”,在此处的上下文中使用calendar名称会将其转换为一个指向数组的指针。而p是一个指向整型变量的指针,两个指针的类型不一样,所以是非法的。显然,我们需要一种声明指向数组的指针的方法。intcalendar[12][31];int(*monthp)[31];monthp=calendar;int(*monthp)[31]语句声明

8、的*monthp是一个拥有31个整型元素的数组,因此,monthp就是一个指向这样的数组的指针。monthp指向数组calendar的第一个元素。...指针与数组2(c和指针.P141.)·1、数组的名的值是一个指针常量,不能试图将一个地址赋值给数组名;·2、当数组名作为sizeof操作符的操作数时,sizeof(arrayname)返回的是整个数组的长度,而不是指向数组的指针的长度;·3、当数组名

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。