华为软件测试工程师面试题.docx

上传人:b****6 文档编号:13571165 上传时间:2023-06-15 格式:DOCX 页数:23 大小:34.63KB
下载 相关 举报
华为软件测试工程师面试题.docx_第1页
第1页 / 共23页
华为软件测试工程师面试题.docx_第2页
第2页 / 共23页
华为软件测试工程师面试题.docx_第3页
第3页 / 共23页
华为软件测试工程师面试题.docx_第4页
第4页 / 共23页
华为软件测试工程师面试题.docx_第5页
第5页 / 共23页
华为软件测试工程师面试题.docx_第6页
第6页 / 共23页
华为软件测试工程师面试题.docx_第7页
第7页 / 共23页
华为软件测试工程师面试题.docx_第8页
第8页 / 共23页
华为软件测试工程师面试题.docx_第9页
第9页 / 共23页
华为软件测试工程师面试题.docx_第10页
第10页 / 共23页
华为软件测试工程师面试题.docx_第11页
第11页 / 共23页
华为软件测试工程师面试题.docx_第12页
第12页 / 共23页
华为软件测试工程师面试题.docx_第13页
第13页 / 共23页
华为软件测试工程师面试题.docx_第14页
第14页 / 共23页
华为软件测试工程师面试题.docx_第15页
第15页 / 共23页
华为软件测试工程师面试题.docx_第16页
第16页 / 共23页
华为软件测试工程师面试题.docx_第17页
第17页 / 共23页
华为软件测试工程师面试题.docx_第18页
第18页 / 共23页
华为软件测试工程师面试题.docx_第19页
第19页 / 共23页
华为软件测试工程师面试题.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

华为软件测试工程师面试题.docx

《华为软件测试工程师面试题.docx》由会员分享,可在线阅读,更多相关《华为软件测试工程师面试题.docx(23页珍藏版)》请在冰点文库上搜索。

华为软件测试工程师面试题.docx

华为软件测试工程师面试题

常见的测试用例设计方法都有哪些?

请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。

  1.等价类划分:

常见的软件测试面试题划分等价类:

等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:

测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:

有效等价类和无效等价类.

  2.边界值分析法:

边界值分析方法是对等价类划分方法的补充。

测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

  使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

  3.错误推测法:

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.

  错误推测方法的基本思想:

列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结。

还有,输入数据和输出数据为0的情况。

输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况。

可选择这些情况下的例子作为测试用例.

  4.因果图方法:

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.

  5.正交表分析法:

有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。

  6.场景分析方法:

指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。

您认为做好测试用例设计工作的关键是什么?

  白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果

  黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。

不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题

详细的描述一个测试活动完整的过程。

  1.项目经理通过和客户的交流,完成需求文档,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:

需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。

项目经理通过综合开发人员,测试人员以及客户的意见,完成项目计划。

然后sqa进入项目,开始进行统计和跟踪

  2.开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或者双方理解不同的地方。

测试人员完成测试计划文档,测试计划包括的内容上面有描述。

  3.测试人员根据修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档,详细设计文档。

此两份文档成为测试人员撰写测试用例的补充材料。

  4.测试用例完成后,测试和开发需要进行评审。

  5.测试人员搭建环境

  6.开发人员提交第一个版本,可能存在未完成功能,需要说明。

测试人员进行测试,发现bug后提交给bugzilla。

  7.开发提交第二个版本,包括bugfix以及增加了部分功能,测试人员进行测试。

  8.重复上面的工作,一般是3-4个版本后bug数量减少,达到出货的要求。

9.如果有客户反馈的问题,需要测试人员协助重现以及回归测试。

您认为性能测试工作的目的是什么?

做好性能测试工作的关键是什么?

  主要是保障在大量用户的情况下,服务能正常使用。

在您以往的工作中,一条软件缺陷(或者叫bug)记录都包含了哪些内容?

如何提交高质量的软件缺陷(bug)记录?

  一条Bug记录最基本应包含:

编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。

高质量的bug记录就是指很容易理解的bug记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位。

3、界面测试题及设计题。

请找出下面界面中所存在的问题并分别列出;用黑盒测试的任何一种方法设计出此登陆窗体的测试用例。

(中级)(6分)

答:

1、窗体的标题栏中为空,没有给出标题。

2、用户名和密码控件的字体不一致并且没有对齐。

3、文本框的大小不一致没有对其。

4、确定和取消按钮控件的大小不一致。

4、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!

(中级)(5分)

答:

黑盒测试的优点有:

1)比较简单,不需要了解程序内部的代码及实现;

2)与软件的内部实现无关;

3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;

4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

5)在做软件自动化测试时较为方便。

黑盒测试的缺点有:

1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;

2)自动化测试的复用性较低。

白盒测试的优点有:

帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

白盒测试的缺点有:

1)程序运行会有很多不同的路径,不可能测试所有的运行路径;

2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;

3)系统庞大时,测试开销会非常大。

5、根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。

(初级)(5分)

答:

软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。

软件测试一般分为单元测试、集成测试和系统测试。

6、根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?

(中级)(10分)

答:

狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。

这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。

测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。

设计测试用例应当从以下几方面考虑:

边界值,等价类划分,有效/无效值等。

7、什么是软件质量保证?

软件质量保证人员与开发人员的关系如何?

(高级)(10分)

答:

软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。

软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题

填空:

1.软件验收测试包括:

正式验收测试,alpha测试,beta测试。

2.系统测试的策略有:

功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,

3.安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,

4.兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦)

3.设计系统测试计划需要参考的项目文挡有:

软件测试计划,软件需求工件和迭代计划。

4.对面向过程的系统采用的集成策略有:

自顶向下,自底向上两种。

3简述集成测试的过程

系统集成测试主要包括以下过程:

1.构建的确认过程。

2.补丁的确认过程。

3.系统集成测试测试组提交过程。

4.测试用例设计过程。

5.测试代码编写过程。

6.Bug的报告过程。

7.每周/每两周的构建过程。

8.点对点的测试过程。

9.组内培训过程。

4怎么做好文档测试

仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。

P142

检查文档的编写是否满足文档编写的目的;内容是否齐全,正确;内容是否完善;标记是否正确

5白盒测试有几种方法

总体上分为静态方法和动态方法两大类。

静态:

关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义

动态:

语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

6系统测试计划是否需要同行审批,为什么

需要,系统测试计划属于项目阶段性关键文档,因此需要评审。

7Alpha测试与beta的区别

Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。

这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。

Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。

这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。

8比较负载测试,容量测试和强度测试的区别

负载测试:

在一定的工作负荷下,系统的负荷及响应时间。

强度测试:

在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。

容量测试:

容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。

容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。

容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。

容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

9测试结束的标准是什么?

用例全部测试。

覆盖率达到标准。

缺陷率达到标准。

其他指标达到质量标准

10描述软件测试活动的生命周期?

测试周期分为计划、设计、实现、执行、总结。

其中:

计划:

对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;

设计:

完成测试方案,从技术层面上对测试进行规划;

实现:

进行测试用例和测试规程设计;

执行:

根据前期完成的计划、方案、用例、规程等文档,执行测试用例。

总结:

记录测试结果,进行测试分析,完成测试报告。

11软件的缺陷等级应如何划分?

A类—严重错误,包括以下各种错误:

1.由于程序所引起的死机,非法退出2.死循环3.数据库发生死锁4.因错误操作导致的程序中断5.功能错误6.与数据库连接错误7.数据通讯错误

B类—较严重错误,包括以下各种错误:

1.程序错误2.程序接口错误3.数据库的表、业务规则、缺省值未加完整性等约束条件;

C类—一般性错误,包括以下各种错误:

1.操作界面错误(包括数据窗口内列名定义、含义是否一致)2.打印内容、格式错误3.简单的输入限制未放在前台进行控制4.删除操作未给出提示5.数据库表中有过多的空字段

D类—较小错误:

1.界面不规范2.辅助说明描述不清楚3.输入输出不规范4.长操作未给用户提示5.提示窗口文字未采用行业术语6.可输入区域和只读区域没有明显的区分标志

E类—测试建议

1。

什么是预编译,何时需要预编译:

答案:

1、总是使用不经常改动的大型代码体。

2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。

在这种情况下,可以将所有包含文件预编译为一个预编译头。

2。

char*constp

charconst*p

constchar*p上述三个有什么区别?

答案:

char*constp;//常量指针,p的值不可以修改

charconst*p;//指向常量的指针,指向的常量值不可以改

constchar*p;//和charconst*p

9。

写一个“标准”宏,这个宏输入两个参数并返回较小的一个。

答案:

.#defineMin(X,Y)((X)>(Y)?

(Y):

(X))//结尾没有‘;’

10。

嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。

答案:

while

(1){}或者for(;;)

11。

关键字static的作用是什么?

这个简单的问题很少有人能回答完全。

在C语言中,关键字static有三个明显的作用:

1).在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2).在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。

它是一个本地的全局变量。

3).在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。

那就是,这个函数被限制在声明它的模块的本地范围内使用。

大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。

这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。

12。

关键字const有什么含意?

我只要一听到被面试者说:

“const意味着常数”,我就知道我正在和一个业余者打交道。

去年DanSaks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:

EmbeddedSystemsProgramming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可以了。

尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。

(如果你想知道更详细的答案,仔细读一下Saks的文章吧。

)如果应试者能正确回答这个问题,我将问他一个附加的问题:

下面的声明都是什么意思?

constinta;

intconsta;

constint*a;

int*consta;

intconst*aconst;

前两个的作用是一样,a是一个常整型数。

第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。

第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。

最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。

如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。

顺带提一句,也许你可能会问,即使不用关键字const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?

我也如下的几下理由:

1).关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。

如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。

(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。

2).通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。

3).合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。

简而言之,这样可以减少bug的出现。

13。

关键字volatile有什么含意?

并举出三个不同的例子?

答案:

提示编译器对象的值可能在编译器未监测到的情况下改变。

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。

精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。

1).并行设备的硬件寄存器(如:

状态寄存器)2).一个中断服务子程序中会访问到的非自动变量(Non-automaticvariables)3).多线程应用中被几个任务共享的变量

回答不出这个问题的人是不会被雇佣的。

我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。

嵌入式系统程序员经常同硬件、中断、RTOS等等打交道,所用这些都要求volatile变量。

不懂得volatile内容将会带来灾难。

假设被面试者正确地回答了这是问题(嗯,怀疑这否会是这样),我将稍微深究一下,看一下这家伙是不是直正懂得volatile完全的重要性。

1).一个参数既可以是const还可以是volatile吗?

解释为什么。

2).一个指针可以是volatile吗?

解释为什么。

3).下面的函数有什么错误:

intsquare(volatileint*ptr)

{return*ptr**ptr;}

下面是答案:

1).是的。

一个例子是只读的状态寄存器。

它是volatile因为它可能被意想不到地改变。

它是const因为程序不应该试图去修改它。

2).是的。

尽管这并不很常见。

一个例子是当一个中服务子程序修该一个指向一个buffer的指针时。

3).这段代码的有个恶作剧。

这段代码的目的是用来返指针*ptr指向值的平方,但是,由于*ptr指向一个volatile型参数,编译器将产生类似下面的代码:

intsquare(volatileint*ptr)

{inta,b;

a=*ptr;

b=*ptr;

returna*b;}

由于*ptr的值可能被意想不到地该变,因此a和b可能是不同的。

结果,这段代码可能返不是你所期望的平方值!

正确的代码如下:

longsquare(volatileint*ptr)

{inta;

a=*ptr;

returna*a;}

位操作(Bitmanipulation)

14。

int(*s[10])(int)表示的是什么啊?

答案:

int(*s[10])(int)函数指针数组,每个指针指向一个intfunc(intparam)的函数。

21.进程之间通信的途径答案:

共享存储系统;消息传递系统;管道:

以文件系统为基础

22.进程死锁的原因答案:

资源竞争及进程推进顺序非法

23.死锁的4个必要条件答案:

互斥、请求保持、不可剥夺、环路

24.死锁的处理答案:

鸵鸟策略、预防策略、避免策略、检测与解除死锁

25.操作系统中进程调度策略有哪几种?

答案:

FCFS(先来先服务),优先级,时间片轮转,多级反馈

26.类的静态成员和非静态成员有何区别?

答案:

类的静态成员每个类只有一个,非静态成员每个对象一个

27.纯虚函数如何定义?

使用时应注意什么?

答:

virtualvoidf()=0;是接口,子类必须要实现

28.数组和链表的区别

答案:

数组:

数据顺序存储,固定大小;连表:

数据可以随机存储,大小可动态改变

30:

(void*)ptr和(*(void**))ptr的结果是否相同?

其中ptr为同一个指针

答案:

.(void*)ptr和(*(void**))ptr值是相同的

31:

问函数既然不会被其它函数调用,为什么要返回1?

答案:

mian中,c标准认为0表示成功,非0表示错误。

具体的值是某中具体出错信息

33,已知一个数组table,用一个宏定义,求出数据的元素个数

答案:

#defineNTBL

#defineNTBL(sizeof(table)/sizeof(table[0]))

34。

线程与进程的区别和联系?

线程是否具有相同的堆栈?

dll是否有独立的堆栈?

答案:

进程是死的,只是一些资源的集合,真正的程序执行都是线程来完成的,程序启动的时候操作系统就帮你创建了一个主线程。

每个线程有自己的堆栈。

DLL中有没有独立的堆栈,这个问题不好回答,或者说这个问题本身是否有问题。

因为DLL中的代码是被某些线程所执行,只有线程拥有堆栈,如果DLL中的代码是EXE中的线程所调用,那么这个时候是不是说这个DLL没有自己独立的堆栈?

如果DLL中的代码是由DLL自己创建的线程所执行,那么是不是说DLL有独立的堆栈?

以上讲的是堆栈,如果对于堆来说,每个DLL有自己的堆,所以如果是从DLL中动态分配的内存,最好是从DLL中删除,如果你从DLL中分配内存,然后在EXE中,或者另外一个DLL中删除,很有可能导致程序崩溃

2.用两个栈实现一个队列的功能?

要求给出算法和思路!

答案:

设2个栈为A,B,一开始均为空.

入队:

将新元素push入栈A;

出队:

(1)判断栈B是否为空;

(2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;

(3)将栈B的栈顶元素pop出;

这样实现的队列入队和出队的平摊复杂度都还是O

(1),比上面的几种方法要好。

3.在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么?

答案:

函数名:

atol功能:

把字符串转换成长整型数用法:

longatol(constchar*nptr);

4。

对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?

答案:

c用宏定义,c++用inline

5。

直接链接两个信令点的一组链路称作什么?

答案:

PPP点到点连接

7。

软件测试都有那些种类?

答案:

黑盒:

针对系统功能的测试白合:

测试函数功能,各函数接口

8。

确定模块的功能和模块的接口是在软件设计的那个队段完成的?

答案:

概要设计阶段

问答题:

1.IPPhone的原理是什么?

答案:

IPV6

2.TCP/IP通信建立的过程怎样,端口有什么作用?

答案:

三次握手,确定是哪个应用程序使用该协议

1、局部变量能否和全局变量重名?

答案:

能,局部会屏蔽全局。

要用全局变量,需要使用":

:

"

局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。

对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内

2、如何引用一个已经定义过的全局变量?

答案:

extern

可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?

为什么?

答:

可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错

1、static全局变量与普通的全局变量有什么区别?

static局部变量和普通局部变量有什么区别?

static函数与普通函数有什么区别?

答案:

全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。

全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。

这两者在存储方式上并无不同。

这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。

而静态全局变量则限制了其作

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2