1 / 56
文档名称:

C语言要点总结.docx

格式:docx   大小:8,550KB   页数:56页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言要点总结.docx

上传人:碎碎念的折木 2022/6/13 文件大小:8.35 MB

下载得到文件列表

C语言要点总结.docx

相关文档

文档介绍

文档介绍:1
《C 和指针》
《C 专家编程》
《C 陷阱与缺陷》
《C 语言编程要点》
总 结
1
说明:总结的学问点主0 的元素。由于 calendar[4] 是一个数组,我们可以通过下标的形式来指定这个数组中的元素: i = calendar[4][7],这个语句也可以写成 下面这样而表达的意思保持不变: i = *( calendar[4] + 7 ),还可以进一步写成: i = *( *( calendar + 4 ) + 7 )。
下面我们再看: p = calendar; 这个语句是非法的,由于 calendar 是一个二维数组,即“数组的数组”,在此 处的上下文中使用 calendar 名称会将其转换为一个指向数组的指针。 而 p 是一个指向整型变量的指针, 两个指 针的类型不一样,所以是非法的。明显,我们需要一种声明指向数组的指针的方法。
4
int calendar[12][31];
int (*monthp)[31];
monthp = calendar;
int (*monthp)[31] 语句声明的 *monthp 是一个拥有 31 个整型元素的数组,因此, monthp 就是一个指 向这样的数组的指针。 monthp 指向数组 calendar 的第一个元素。
指针与数组 2(c .)
· 1 、数组的名的值是一个指针常量,不能试图将一个地址赋值给数组名;
·2、当数组名作为 sizeof 操作符的操作数时, sizeof(arrayname)返回的是整个数组的长度,而不是指向数组的指
针的长度; ·3、当数组名作为单目操作符&的操作数,取一个数组名的地址所产生的是一个指向数组的指针,而不是一个
指向某个指针常量值的指针。
·4、指针和数组并不总是相等的。为了说明这个概念,请考虑下面这两个声明:
int a[5];
int *b;
a 和 b 能够互换吗?它们都具有指针值,它们都可以进展间接访问和下标操作。但是,它们还是有很大的区 别的:声明一个数组时,编译器将依据声明所指定的元素数量为数组保存内存空间,然后再创立数组名,它 的值是一个常量,指向这段空间的起始位置。声明一个指针变量时,编译器只为指针本身保存内存空间,它 并不为任何整型值安排内存空间。 而且, 指针变量并未被初始化为指向任何现有的内存空间, 假设它是一个 自动变量,它甚至根本不会被初始化。把这两个声明用图的方法表示,可以觉察它们之间存在显著的不同:
a
b

因此,上述声明后,表达式*a 是完全合法的,但表达式*b 却是非法的。 *b 将访问内存中某个不确定的位 置,或者导致程序终止。另一方面,表达式 b++可以通过编译,但是 a++却不能,由于 a 的值是一个常 量。
#include<>
int main()
{
//留意 sizeof(num)的长度应当为 10*4=40
int num[] = {0,1,2,3,4,5,6,7,8,9};
printf(“ sizeof(num) = %d\n“, sizeof(num) );
//留意 sizeof(str)的长度应当为 11,包括字符串后面的”\0”
char str[] = “0123456789“;
printf(“ sizeof(str) = %d\n“, sizeof(str) );
//留意 sizeof(str1)的长度应当为 10,不包括字符串后面的”\0”,但是,最好将字符串的最终一个字符设定为空
char str1[] = {”0”,”1”,”2”,”3”,”4”,”5”,”6”,”7”,”8”,”9”};
printf(“ sizeof(str1) = %d\n“, sizeof(str1) );
//&num 的类型为”int (*)[10]”,表示的是一个指向长度为 10 的整形数组的指针
int (*ptoint)[10] = #
printf(“ sizeof(ptoint) = %d, (*ptoint)[9] = %d\n“, sizeof(ptoint), (*ptoint)[9] );
//&str 的类型为”char (*)[11]”,表示的是一个指向长度为

最近更新

通信工程安全生产管理规定 14页

长春美食广场招商方案 12页

2022年北京市中考地理真题试卷(含详解) 27页

PLC钻床主轴进给控制系统程序设计 19页

七年级下册生物学课后练习答案 5页

互联网技术在电子商务上的应用 7页

大学生心理健康课心得体会(精选5篇) 9页

小学二年级语文《狮子和山羊》原文、教案及教.. 5页

幼儿美术研究方案 10页

河南省三门峡市义马市第二初级中学八年级地理.. 4页

电大《行政领导学》名词解释题及答案 4页

绩效个人工作总结 46页

银行员工以案促改心得体会精选范文3篇 6页

(完整版)数据库原理与应用试题及答案 9页

河南省郑州市二七区陇西国际城小学2022年人教.. 19页

路灯安装技术交底记录大全记录文本 11页

第六章供应链成本管理 68页

《小瓶“大世界”导学案-2023-2024学年小学科.. 2页

点拨孩子智慧的荀子经典名句四十条 16页

大学生的实习报告500字范例(9篇) 13页

个股研究报告案例 8页

一个活动方案的流程 9页

九江市人民政府办公厅关于印发九江市渣土运输.. 18页

法定计量检定机构考核现场笔试试卷 4页

台达ms300变频器使用手册中文台达变频器MS300.. 2页

学党史主题会议记录 6页

充电站建设方案设计书 38页

电站锅炉加药量计算 1页

禾丰中心卫生院新建项目海绵城市专项设计说明.. 11页

RpS-Am-E1型护栏构造图 2页