Welcome 微信登录

首页 / 软件开发 / C语言

TC编程手册之三

TC编程手册之三

TC编程手册之三2009-10-04下面来介绍C语言功能最强大的特点,同时也是相对而言比较难掌握的概念之一——指针。一、指针的基本概念如同其它基本类型的变量一样,指针也是一种变量,但它是一种把内存地址作为其值的变量。因为指针通常包含的是一个拥有具体值的变量的地址,所以它可以间接地引用一个值。二、指针变量的声明、初始化和运算符声明语句int *ptra, a;声明了一个整型变量a与一个指向整数值的指针ptra,也就是说,在声明语句中使...
C语言嵌入式系统编程修炼之背景篇

C语言嵌入式系统编程修炼之背景篇

C语言嵌入式系统编程修炼之背景篇2009-10-05 yesky 宋宝华不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择。笔者在嵌入式系统项目的开发过程中,一次又一次感受到C语言的精妙,沉醉于C语言给...
用C语言实现艺术清屏

用C语言实现艺术清屏

用C语言实现艺术清屏2009-10-05问题的提出:我们在编制程序时,经常要用到清屏处理,如dos下的cls,Turbo C下的clrscr()等都具有清屏功能,但这些均为一般意义的清屏,并未显示其清屏规律.而有时为了达到清屏的艺术美观,往往对清屏有一些具体要求,如:开幕清屏;闭幕清屏;上清屏;下清屏;中清屏.为此,这里用C语言编制了几个子函数,用于程序中时,既可达到清屏的目的,有能增加屏幕的艺术美观.子函数及演示程序:#include<stdio....
C语言图形处理

C语言图形处理

C语言图形处理2009-10-05再谈main()主函数每一C 程序都必须有一main()函数,可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面,而另一些程序员把它放在最后面,无论放在哪个地方,以下几点说明都是适合的。1. main() 参数在Turbo C2.0启动过程中,传递main()函数三个参数:argc,argv和env。* argc: 整数,为传给main()的命令行参数个数。* argv: 字符串数组。在DOS 3.X 版本...
C语言之C语言的底层操作

C语言之C语言的底层操作

C语言之C语言的底层操作2009-10-05楚云风概述C语言的内存模型基本上对应了现在von Neumann(冯·诺伊曼)计算机的实际存储模型,很好的达到了对机器的映射,这是C/C++适合做底层开发的主要原因,另外,C语言适合做底层开发还有另外一个原因,那就是C语言对底层操作做了很多的的支持,提供了很多比较底层的功能。下面结合问题分别进行阐述。问题:移位操作在运用移位操作符时,有两个问题必须要清楚:(1)、在右移操作中,腾空位是填 0 还是符...
C语言之代码检查工具

C语言之代码检查工具

C语言之代码检查工具2009-10-05楚云风概述PC-Lint是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算机编程的远古时代(30多年以前)。经过这么多年的发展,它不但能够监测出许多语法逻辑上的隐患,而且也能够有效地帮你提出许多程序在空间利用、运行效率上的改进点,在很多专业级的软件公司,比如Microsoft, PC-Lint检查无错误无警告是代码首先要过的第一关,我个人觉得,对于小公司和个人开发而言,PC-Lint也非常重要...
C语言之声明的语法

C语言之声明的语法

C语言之声明的语法2009-10-05楚云风概述在很多情况下,尤其是读别人所写代码的时候,对C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。问题:声明与函数有一段程序存储在起始地址为0的一段内存上,如果我们想要调用这段程序,请问该如何去做?答案答案是(*(void (*)( ) )0)( )。看起来确实令人头大,那好,让我们知难而上,从两个不同的途径来详细分...
C语言之指针、数组和函数

C语言之指针、数组和函数

C语言之指针、数组和函数2009-10-05楚云风基本解释1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。问题:指针与数组听说char...
C语言之指针综合谈

C语言之指针综合谈

C语言之指针综合谈2009-10-05郑力群概述Joel Spolsky认为,对指针的理解是一种aptitude,不是通过训练就可以达到的。虽然如此,我还是想谈一谈这个C/C++语言中最强劲也是最容易出错的要素。鉴于指针和目前计算机内存结构的关联,很多C语言比较本质的特点都孕育在其中,因此,本篇和第六、第七两篇我都将以指针为主线,结合在实际编程中遇到的问题,来详细谈谈关于指针的几个重要方面。指针类型的本质分析1、指针的本质指针的本质:一种复合的数据类型。下...
在C语言中如何处理时间和日期

在C语言中如何处理时间和日期

在C语言中如何处理时间和日期2009-10-05孟谨Chuck Allison 是盐湖城圣 Latter Day 教堂总部下耶稣教堂家族历史研究处的软件体系设计师。他拥有数学学士和数学硕士学位。他从1975年起开始编程,从1984年起他开始从事c语言的教学和开发。他目前的兴趣是面向对象的技术及其教育。他是X3J16,ANSI C ++标准化委员会的一员。大部分的操作系统有办法得到当前的日期和时间。通过定义在time.h的库函数,ANSI C能以许多不同的形...
C语言的编程风格

C语言的编程风格

C语言的编程风格2009-10-05缩进格式Tab是8个字符,于是缩进也是8个字符.有很多怪异的风格,他们将缩进格式定义为4个字符(设置为2个字符!)的深度,这就象试图将PI定义为3一样让人难以接受.理由是:缩进的大小是为了清楚的定义一个块的开始和结束.特别是当你已经在计算机前面呆了20多个小时了以后,你会发现一个大的缩进格式使得你对程序的理解更容易.现在,有一些人说,使用8个字符的缩进使得代码离右边很近,在80个字符宽度的终端屏幕上看程序很难受.回答是,...
关于C语言字符串函数的思考

关于C语言字符串函数的思考

关于C语言字符串函数的思考2009-10-06 tonyxiaohome 肖舸C语言并不是一种很方便的语言,它的字符串就是一例。按照C语言的定义,“字符串就是一段内存空间,里面包含ASCII字符,并且,以“”结尾,总共能存放n-1个字符。”按照这个描述,字符串处理确实很麻烦,还很容易出错。为了方便用户,C语言标准库向用户提供了一些字符串函数,如字符串拷贝、构造、清空等函数,在一定程度上方便了用户的使用。但是,...
主流C语言编译器的选择

主流C语言编译器的选择

主流C语言编译器的选择2009-10-22 cvblog LosesToyLosesToy 对程序设计一直没怎么深入的学习,“C程序设计语言”课程也就应付应付过了期末考试。但是现在发觉,其实学的一些东西还是有些用处的。前天有位朋友问我,说他想学学C语言,但是下了个VC++却不会用,让LosesToy推荐一个C语言编译器,所以就有了这篇文章。对于学习C语言的新手来说,通常会面临C语言编译器选择的问题。C语言编译器可以分为C和C++两大...
C语言之编译器引出的问题

C语言之编译器引出的问题

C语言之编译器引出的问题2009-10-22楚云风基本解释本节主要探讨C编译器下面两方面的特点所引发的一系列常见的编程问题。对C文件进行分别编译:C程序通常由几个小程序(.c文件)组成,编译器将这几个小程序分别编译,然后通过链接程序将它们组合在一起形成一个目标代码。由于编译器每次只能编译一个文件,因此它不能立即检查需要几个源文件配合才能发现的错误。对函数的参数和返回值建立临时变量 C编译器会对函数的参数建立临时参数,也可能会对函数的返回值隐含传递一个指针。...
将Sybase C程序快速移植到Oracle Pro*C程序

将Sybase C程序快速移植到Oracle Pro*C程序

将Sybase C程序快速移植到Oracle Pro*C程序2009-10-22徐小锋一、前言当前不少单位在进行系统改造升级时,面临着如何将各个独立部门开发的应用所采用的数据库统一,以便适应数据大集中的需求,方便将来进行数据挖掘等更高层次的应用。在数据库统一的过程中,如何快速、高效的将已有的基于异种数据库的程序,特别是采用C/C++开发的运行于linux/unix下的程序转换到现有数据库下,成为不少单位面临的问题。当然了,基于RAD开发的程序,基本上不需要...
C和指针

C和指针

C和指针2009-10-22 博客园 abruzzi前言指针是C的灵魂,正是指针使得C存在了这么多年,而且将长期存在下去。事实上,我自己不用C语言写程序已经有一年了,工作中接触到的只有java,python和javascript。最近用C完成了一下类似于OO中的封装(即"类")的概念,顺便把指针复习了下,感觉有必要记一下。本文中的例子有这样两个概念:任务(Task),执行器(Executor)。任务有名称(taskName),并且可以执...
<< 41 42 43 44 45 46 47 48 49 50 >>