![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言篇
文章平均质量分 80
KING1111111111
这个作者很懒,什么都没留下…
展开
-
复杂声明的分析过程
复杂声明的分析过程步骤号 匹配的符号 如何阅读1取最左边的标识符 标识符 表示“标识符是”2 查看标识符右边的下一个符号,如果是【】原创 2013-05-16 16:00:04 · 565 阅读 · 0 评论 -
通过表查找(HASH表)分析结构
通过一个表查找的程序,深入讨论结构。当遇到如宏定义 #define IN 1时,宏处理器和编译器如何处理呢。需要把名字IN和替换文本1存入某个表中,当出现IN时如“statet = IN;就必须用1来替换IN。1处理名字 需要将名字和替换文本存入表中.用函数install(s,t)来实现。遇到之后就用lookup(s)函数在表中查找,若找到,返回指向该处到指针;若没找到,返回NUL原创 2013-05-22 23:05:27 · 735 阅读 · 0 评论 -
堆栈与函数调用
一、预备知识—程序的内存分配 一个由c/c++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区"静态区(static)转载 2012-12-07 13:27:03 · 567 阅读 · 0 评论 -
1的补码 2的补码 1's complement
1的补码 2的补码 1's complement 这是关于TCP头部校验和字段(checksumfield)的说明。句中的complement意思为“补码”。对于学习计算机科学的人来说,补码不算什么新鲜,现在新鲜的是这篇英语文章出现的是“1’scomplement”,翻译出来应该是“1的补码”,对于这个笔者以前也没有碰到过,到网上查吧!网上查询的结果,“1’scomplemen转载 2013-04-17 11:09:17 · 4943 阅读 · 0 评论 -
C循环如何实现详解
C循环如何实现详解开篇 几乎每种程序设计语言的语法中都会有语句的循环,跳转。像最为熟知的C语言便有 for 、 while 、 do---while 等等。这些循环一般都很容易理解和使用,对于程序中逻辑的实现也很有帮助。只是很多人不曾知道,这些循环、跳转在计算机内部、在底层是如何实现的,于是在出现问题时还是没有好的解决办法,或者是虽然写出来程序,对于内部的逻辑,却还是隔了一转载 2013-04-12 10:43:19 · 807 阅读 · 0 评论 -
国际C语言混乱代码大赛优胜作品详解之“A clock in one line
国际C语言混乱代码大赛优胜作品详解之“A clock in one line”发表于2013-04-11 17:22| 9419次阅读| 来源StackOverflow| 53 条评论| 作者nneonneoIOCCCC代码大赛是一项著名的国际编程赛事迄今已举办22届,比赛的目的在于写出最富创意、最让人难以理解的C语言代码。本文解读了19届IOCCC优胜作品“A转载 2013-04-15 13:05:38 · 1184 阅读 · 0 评论 -
通过printf函数简单实现解析不定参数表
代码先行,分析在后。#include/*minprintf:minimal printf with variable argument list */void minprintf(char *fmt,...){va_list ap; /*points to unnamed arg in turn */char *p, *sval;int ival;double原创 2013-05-27 23:39:35 · 916 阅读 · 0 评论