首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
在BASIC语言中,DIM A(N)语句可以定义一个包含N个元素(N是未知数)的数组,而在C语言中,定义数组时必须要明确地说明其大小.但在设计程序时,经常会遇到数组元素个数未知的情况,数组的大小在最初不能预料,只有在程序运行过程中根据不同的情况才能确定.对于这个问题一般的处理方法是拟定一个比实际需要大的数组.显然,这样做有两个缺点:一是若数组定义小于实际需要,将引起程序运行错误;二是若数组定义太大,又会造成内存空  相似文献   

2.
徐迎晓 《电脑》1995,(4):59-59
结构化程序设计要求程序中的函数具有高度的独立性,即函数应尽可能地不依赖于全局变量.但在C语言中使用二维数组的场合,函数的独立性大受影响,它表现在两个方面:1、当数组名作为函数的参数进行传递时,若是传递一维数组,则可以动态地说明数组的长度,如:int sub(intlist[],int n).但若是传递二维数组,则在函数的参数表中必须说明数组的第二维最大长度,否则编译时将显示出错.通常的做法是利用宏定义预先定义数组的第二维最大长度,如:  相似文献   

3.
在应用中,特别是在大型数值计算中,经常会遇到各种矩阵运算。在程序中用数组可以存储这些矩阵数据。但如果无法预先知道矩阵确切的数据个数,即数组各维的大小事先未知(通常也无法知道),那么为了程序的通用性,就必须定义足够大的数组,以适应不同用户对数据量大小不同的需要。但这样做往往会导  相似文献   

4.
在许多应用软件的设计过程中,人们常常要用到三维数组。如果使用C程序设计语言,这一问题将很容易解决。但在FOXBASE、DBASE、BASIC等一些用户量很大的高级程序设计语言中,其数组最高只能是二维的。对许多用户来讲.他们常常使用这些语言进行一些中、低档实用软件的开发,常会需要用到三维数组功能。因此,在FOXBASE等高级程序设计语言中,如何实现三维数组功能,是一个值得大家共同探讨的问题。一种实现三维数组功能的算法不久前,根据实际工作的需要,我们完成了"高校试卷分析系统"(1.0版)的开发工作。在该软件的设计过程…  相似文献   

5.
林华君 《软件世界》1995,(10):28-29
在许多程序设计中都要用到多维数组,如果数组每一维的大小都已知,则在变量说明中定义即可,否则,通常的方法是在变量说明中按最大值来定义数组,这样会浪费内存,且有时该最大值也很难确定。在此介绍一种在C程序中动态生成多维数组的方法,该法可有效地解决上述问题。  相似文献   

6.
<正>NO.1先声明后使用原理原理来源:C、C++、JAVA等一系列编程语言适用人群:刚刚找到另一半并且有意快乐相处下去的男人女人们原理阐述:“先声明后使用”在各类编程语言中起到的是一个声明将要出现变量的作用,以便使计算机能够顺畅地为后续程序服务,提高编程效率,增加程序正确率。  相似文献   

7.
带有系统底层特性的高级语言(C、C++等)通常采用的是弱类型系统,允许不同类型变量之间的混合运算。因此,在涉及到赋值等操作时,如果源变量和目的变量类型不一致,则需要进行类型转换,而转换过程稍有疏忽就会引入安全性问题。现有的检测技术大多在程序运行时进行类型转换问题的检测,产生较大额外开销的同时,也会影响程序的执行速度。基于LLVM编译器提出一种针对C/C++隐式类型转换的安全性检测方法。该方法作用于LLVM中间代码,筛选出含有变量声明和引用的语句;对于声明变量的语句,提取其类型信息并按相应的数据结构存储;对于引用变量的语句,匹配定义的类型转换的不安全操作集和转换模式,以检测其中的类型转换操作是否安全。实验结果表明,该方法能够在编译阶段有效地检测出存在安全隐患的类型转换操作。  相似文献   

8.
由以上可知,在tc范围内最大数值类型为long double,其长度80位,数值范围3.4e—4932~1.1e+4932,比它更大的数就会溢出。本文所讲的大数就是比这还要大的数,显然无法用long double类型来定义。 下面介绍用定义整型数组求大数方法:int tam[n](1<=n<=32767)如n=200,tam[200]就有200个整型数组元素,每个数组元素存放一位十进制数,就有200位十进制数,那么这个数所表示的数就是很大的数。  相似文献   

9.
DannyKalev  孟岩 《程序员》2001,(4):57-61
下述三个简单而又鲜为人知的技巧,可以在不牺牲程序的清晰和可读性,不更改设计方案的情况下提高程序的性能。例如,程序员往往不知道,只要简单的重新排布一下数据成员在类声明中的顺序,对象的体积就会显著减小。特别是在使用对象数组时,这种优化技术还能和提升程序的性能。还将学习前缀和后缀操作符的区别,这个问题在操作符重载时至关重要。最后,来学习减少生成临时对象的几个技巧。  相似文献   

10.
如果大家使用过Corel Draw8.0的话,一定对它的界面效果印象深刻。整个程序中所有的控件都是平面的,而且还有鼠标的热点跟踪。初看起来,要用Visual C++实现这样的效果并不困难,只要自画按钮、组合框、列表框等等就可以了。但是,这样做的缺点很多: 1.绘制时使用的代码大量重复,无法或不易重用。 2.使用不方便,这样的类在使用时往往有特殊的要求,即使没有,也需要给每个控件重新指定新类,对于动态创建的类或是没有指定成员变量的类,使用更不方便。 3.升级现有工程的代码困难,只能大量修改源码。没有一个简便易行的方案可以解决问题。  相似文献   

11.
付仲恺 《程序员》2004,(7):105-108
在用C++进行开发的时候,或多或少地都要考虑在程序运行发生了错误时应如何逆行处理,以便在保证程序健壮性的同时,也能给用户带来良好的交互感受,因此,对于错误的处理大家并不陌生,但在实际开发过程中.如果错误处理方式不当,往往会给程序带来一些负面影响,那么如何掌握正确的错误处理方式呢?这就是本篇要讨论的话题。  相似文献   

12.
控件是可视化开发工具的重要对象之一。在程序设计时通常会遇到具有相同性质的事件过程,如果为每个控件分别编写一段事件过程,则显得十分不经济且结构不合理。在面向对象的程序设计中可采用将多个相同的控件定义为一个控件数组,这个控件数组内的每一个控件都可以共享程序代码。这不仅减少了开发人员重复性劳动而且提高了程序的可读性。通常建立控件数组方法有两种:第一种是在设计阶段时建立,属于静态方式;另一种是在执行阶段,动态地建立控件数组,也即在程序执行时建立。为了避免内存的浪费常采用动态建立控件数组,就是在程序模块(module)内,先声明一个空的控件数组,等到要使用该控件数组时,再重新声明要使用的控件数组元素或数目。控件数组可以动态生成和释放;并且控件数组对属性具有相同控制。动态生成和释放控件数组是在运行时,用Load和Unload语句添加和删除控件数组中的控件。  相似文献   

13.
在C++的程序设计中,为完成功能上类似的处理而使用数组函数的情形已经不多见,代之而起的是多态等新机制。但是在某些场合下,如相同的处理函数的数目相对较多时,声明一个指针数组,令其中的每个指针指向一个函数入口,再通过数组下标来调用相应函数,仍不失为一种简洁、高效的手段。  相似文献   

14.
应用程序中经常需要显示指定路径下的文件,如何在程序中能自动列出所需的文件名是程序员必须处理好的一个问题。目前,大多采用口录窗口的形式都采用类Windows风格。 Turbo C++提供两个对目录显示非常有用的库函数findfirst()、findnext()。findfirst(文件名.DTA存放文件信息的结构文件属性)用来寻找符合条件的第一条文件名。DTA Turbo C++中有如下结构:struct ffblk char ff_reserved[21]: char ff_attrib;unsigned ff_ftime:unsigned ff_date: long ff_fsize char ff name[13];  相似文献   

15.
高凤娟  王豫 《软件学报》2020,31(10):2983-3003
随着移动计算、物联网、云计算、人工智能等领域的飞速发展,也涌现出了很多新的编程语言和编译器,但是C/C++语言依旧是最受欢迎的编程语言之一,而数组是C语言最重要的数据结构之一.当在程序中通过数组下标访问数组元素时,必须确保该下标在该数组的边界之内,否则就会导致数组越界.程序中的数组越界缺陷会使得程序在运行时导致系统崩溃,甚至使攻击者可以截取控制流以执行任意恶意代码.当前针对数组越界的静态检查方法无法达到高精度的分析,尤其是无法处理复杂约束和表达式,过多的误报额外增加了开发者的负担.因此,提出了一种基于污点分析的数组越界的静态检测方法.首先,提出流敏感、上下文敏感的按需指针分析方法,实现数组长度区间分析.然后,提出按需污点分析方法,实现数组下标和数组长度污染情况的计算.最后,定义数组越界缺陷判定规则,提出使用后向数据流分析方法,检测数组下标是否越界.在进行数组越界检测的过程中,为了处理程序中的复杂约束和表达式,在分析过程中将调用约束求解器来判断约束的可满足性.如果没有发现相应的语句,则报告数组越界缺陷警报.同时,实现了自动静态分析工具Carraybound,并通过实验展示了方法的有效性.  相似文献   

16.
在使用C + +Builder时 ,由于VCL中缺少控件数组 ,因而使用起来不象VisualBasic中那样方便。但是C + +Builder可以利用其它的技术实现控件数组的所有的功能 :(1)允许多个控件共享同一事件句柄 ;(2 )提供了在运行期间增加一个控件的机制 ;(3)提供了一种方便的组合控件的方法。C ++Builder还有另一个优点 ,即不同类型的控件可以使用相同的事件句柄。这对于类似的控件 ,如掩码编辑控件与编辑控件能共享同样的事件代码 ,有很大的意义。至于控件的动态分配 ,C + +Builder并无VisualBasi…  相似文献   

17.
在C++Builder中,通常我们都是事先创建好窗体,并在窗体上创建需要的控件.然而在一些软件编制过程中,我们有时却需要在程序执行过程中动态创建窗体,并在窗体上动态创建控件,同时为控件写函数。如何实现这项技术呢?我们可以采用这样的方法来实现:创建窗体时,只需要创建一个TForm类的实例就行了,如程序中frmNew=new TFrom(Application);动态创建窗体上的控件只要创建一个该控件类的一个实例对象,不过特别要注意的是,其父体应为该窗体对象,如创建按钮时,应这样创立btnOK=new TButton(frmNew),其中frmNew就是该控件所属窗…  相似文献   

18.
LEVEL Ⅱ BASIC作了一些有关程序运行的假设,如: *没有类型说明的变量都假设为单精度变量。 *为字符串和数组自动地开辟了一部分内存——而不论你是否全部使用它们。 *程序按顺序执行,从程序的第一条语句开始到最后一条为止。  相似文献   

19.
NO.1先声明后使用原理 原理来源:C、C++、JAVA等一系列编程语言 适用人群:刚刚找到另一半并且有意快乐相处下去的男人女人们 原理阐述:"先声明后使用"在各类编程语言中起到的是一个声明将要出现变量的作用,以便使计算机能够顺畅地为后续程序服务,提高编程效率,增加程序正确率.  相似文献   

20.
<正>指针简介指针是C语言的一个最重要的特征,它提供了一种统一的方法,使其能访问远程的数据结构。但对C语言初学者而言,在编程过程中熟练的使用指针并不能像使用int型变量一样地轻松愉快,容易上手,往往是不得其精髓。我们知道,不论什么时候,运行一个程序A,首先都是操作系统自身的加载器把A装入内存,然后CPU才能执行。所以A程序的所有要素都会驻留在内存的某个位置。下面我们看一段示例程序。#includeintcmp(int first,int second)  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号