首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改
admin
2009-05-15
48
问题
阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改变。一个ImageCon结构能够关联一组ImageView结构。当ImageCon结构的内容或状态发生变化时,所有与之相关联的ImageView结构都将被更新,这种应用被称为观察者模式。以下代码采用C语言实现,能够正确编译通过。
【C代码】
#include <stdio.h>
#define OBS_MAXNUM 20/*一个ImageCon变量最多能够关联的ImageView变量的个数*/
typedef void (1) (struc ImageCon *,struct ImageView *);
struct ImageView{
func update; /*ImageView结构采用的更新函数*/
/*其他的结构字段省略*/
};
struct ImageCon{
(2) myObs[OBS_MAXNUM];
/*存储所有与ImageCon相关联的ImageView结构指针*/
intindex; /*与ImageCon结构变量相关联的ImageView结构变量的个数*/
};
void attach(struct ImageCon *IMG,struct ImageView *ob){
/*关联Obersver结构ob与ImageCon结构IMG*/
int loop=0;
if(IMG→index>=OBS_MAXNUM||ob==NULL)return;
for(loop=0;loop<IMG→index;loop++)
if(IMG→myObs [loop]= =ob)return;
IMG→myObs[IMG→index]=ob;
IMG→index++;
}
void detach(struct ImageCon *IMG,struct ImageView *ob){
/*解除IMG结构与ob结构间的关系*/
int loop;
if(ob= =NULL)return;
for(loop=0;loop<IMG→index;loop++){
if(IMG→myObs[loop]= =ob){
if(loop<=IMG→index-2)
IMG→myObs[loop]=IMG→myObs[ (3) ];
IMG→myObs[IMG→index-1]=NULL;
IMG→index- -;
breack;
}
}
}
void updatel(struct ImageCon *IMG,struct ImageView *ob){
/*更新ob结构的值,更新代码省略*/
}
void update2(struct ImageCon *IMG,struct ImageView *ob){
/*更新ob结构的值,更新代码省略*/
}
void notifyObs(struct ImageCon *IMG){
/*当IMG结构的值发生变化时,通知与之关联的所有ImageView结构变量*/
int loop;
for(loop=0;loop<IMG→index;loop++){
(IMG→myObs[loop])→update (4);
}
}
void main(){
struct ImageCon IMG;/*定义一ImageCon变量*/
struct ImageView explorer1,explorer2;/*定义两个ImageView变量*/
/*初始化与ImageCon变量相关的ImageView变量个数为0*/
IMG.index=0;
explorer1.update=updatel;/*设置explorerl变量的更新函数*/
explorer2.update=update2;/*设置explorer2变量的更新函数*/
attach(&IMG,&explorer1);/*关联explorer1与IMG对象*/
attach(&IMG,&explorer1);/*关联explorer1与IMG对象*/
/*其他代码省略*/
(5);
return;
}
选项
答案
(2)struct ImageView *
解析
由myObs的功能可知,它是struct ImageView。类型的。
转载请注明原文地址:https://kaotiyun.com/show/DujZ777K
本试题收录于:
程序员上午基础知识考试题库软考初级分类
0
程序员上午基础知识考试
软考初级
相关试题推荐
阅读以下说明,回答问题。[说明]在一台计算机上安装完成WindowsServer2003服务器及相应的服务组件。如果希望在该服务器上D盘(卷)中实现磁盘配额功能,则该卷必须是什么样的文件系统?
阅读以下说明,回答以下问题,将解答填入答题纸对应的解答栏内。【说明】某企业网络拓扑结构如图2.1所示,通过WindowsServer2003系统搭建了Web、DNS、DHCP和邮件服务器(为内网用户提供服务),其中DHCP服务器分配的地址范围如图2.
阅读以下说明,回答以下问题,将解答填入答题纸对应的解答栏内。【说明】某企业网络拓扑结构如图2.1所示,通过WindowsServer2003系统搭建了Web、DNS、DHCP和邮件服务器(为内网用户提供服务),其中DHCP服务器分配的地址范围如图2.
阅读以下说明,回答问题1~问题5,将答案填入对应的答案栏内。【说明】在Linux下安装与配置Sendmail服务,Sendmail服务程序需要读取一些配置文件,以下列出了Sendmail的3个配置文件的主要内容。./etc
简要回答有关局域网传输媒体的问题。要获得最佳的数据传输安全保密性的传输媒体是哪一种?
在Windows操作系统中,“回收站”可以恢复(1)上使用<Del>键删除的文件或文件夹。在“我的电脑”窗口中,如果要整理磁盘上的碎片,应选择磁盘“属性”对话框的(2)选项卡。使用“资源管理器”时,(3),不能删除文件或文件夹。
在Excel表处理软件中,(16)是当公式在复制或移动时会根据移动的位置自动调节公式中引用单元格的地址。假设单元格A1、A2、B1和B2内容如下图所示,并在 C1中输入公式“=$A$1+$B$1”,并将公式复制到C2,那么C2的内容为(17)。
设机罪码的长度为8位,已知X、Z为带符号的纯整数,Y为带符号的纯小数,[X]原+[Y]补+[Z]移=11111111,求出X、Y、Z的十进制真值为:X=(16),Y=(17),Z=(18)。
测试是保证软件质量的重要手段。根据国家标准GB 8566—1988《计算机软件开发规范》的规定,应该在(10)阶段制定系统测试计划。
随机试题
下列画横线的句子翻译错误的是()
新时期的统一战线已经成为工人阶级领导的,以工农联盟为基础的最广泛的联盟,包括()
中国新民主主义革命理论形成的客观条件是()
患者,女性,76岁。冠心病急性发作入院,患者只会讲粤语。护士在护患沟通时应特别注意使用的沟通技巧是
诉讼时效包括()要素。
(2007年)某项目财务现金流量见下表,则该项目的静态投资回收期为()年。
跟踪误差越大,调整所花费的交易成本越低。()
下面教学片段选自两位英语教师的课堂实录(片段中T指教师,S指学生)。Teacher1:T:Whatdidyouhaveforbreakfastthismorning?S:Ihaveabottleofm
导致经济全球化迅猛发展的因素主要有()
NocountryintheworldhasmoredailynewspapersthantheUSA.Therearealmost2000ofthem,ascomparedwith180inJapan,1
最新回复
(
0
)