首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请用C语言的函数指针变量,对manage_device函数进行改造,完成下面C语言代码中的(1)、(2)、(3)和(4)处的变量说明或语句,将解答填入对应栏内。 【C语言代码】 /*变量与类型说明*/ #include "stdio.h"
请用C语言的函数指针变量,对manage_device函数进行改造,完成下面C语言代码中的(1)、(2)、(3)和(4)处的变量说明或语句,将解答填入对应栏内。 【C语言代码】 /*变量与类型说明*/ #include "stdio.h"
admin
2009-02-01
94
问题
请用C语言的函数指针变量,对manage_device函数进行改造,完成下面C语言代码中的(1)、(2)、(3)和(4)处的变量说明或语句,将解答填入对应栏内。
【C语言代码】
/*变量与类型说明*/
#include "stdio.h"
#include "stdlib.h"
extern int sys_status;
extern int Dev_drv1(int arg1, int arg2);
extern int Dev_drv2(int arg1, iht arg2);
extern int Dev_drv3(int arg1, int arg2);
extern int Dev_drv4(int arg1, int arg2);
#define NOERROR 0
typedef struct {
int _fd;
(1) 函数指针变量说明;/* 变量名用process */
} TYP_DEV_TAB;
TYP_DEV_TAB dev_tab[50]= {{101, Dev_drv1},{99, Dev_drv2},
{80, Dev_drv3},{120, Dev_dry4},};
/* 程序 */
void manage_device(int devid, int arg1, int arg2)
{ iht place ;
int ret;
(2) 函数指针变量说明;/*局部变量,变量名用ProcAction */
for(place=0 ; place<50 ; place++) {
if(dev_tab [place]._fd == devid) {
(3) 语句1;/* 变量名胜ProcAction, 得到具体函数的入口地址 */
break;
}
}
if(place>=50)
printf("NO DEVICE fd = %d\n",devid);
(4) 语句2;
if(ret!=NOERROR)
printf("DEVICE %d error!", devid);
}
在设备驱动程序(函数)Dev_drv1中,对指针ptr的说明如下:
【C语文代码】
int Dev_drv1(int arg1,int arg2 )
{
struct node {
int ID;
char name [20];
int range;
} ;
struct node *ptr;
/*其他局部变量声明,略*/
ptr = (struct node *)malloc(sizeof(struct node)*100);
/*其他程序代码,略*/
}
设int为32位整数,char占8位。当对指针ptr赋完值后的值为0x3751CO,若再执行一条“ptr++;”语句,此时ptr的值为多少? (用十六进制表示)。
选项
答案
ptr的值为以下均按正确对待。 0x3751DC,或3751DCH,或十六进制3751DC,或3751DC。
解析
本题考查对C语言指针变量的理解。在指针赋予某一变量的地址后,该指针就指向该变量所分配的地址空间。需要强调的是,指针变量是有类型的,指针的值加1,表示增加按其声明类型所占的字节数,而不是增加一个字节的地址。因此ptr++后ptr的值比原来增加28个字节,当前的值应为0x3751DC。
转载请注明原文地址:https://kaotiyun.com/show/2mWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
DBS的体系结构,按照ANSI/SPARC报告分为(1);在DBS中,DBMS的首要目标是提高(2);为了解决关系数据库的设计问题,提出和发展了(3);对于DBS,负责定义DB结构以及安全授权等工作的是(4)。
某数据库应用系统在运行过程中,发现随着数据量的不断增加,有部分查询业务和数据更新业务执行耗时越来越长。经分析,这些业务都与表Tablel有关。假设Tablel有30多个字段,分别为(Key,A2,A2,…Am,B1,B2,…Bn)。执行频度较高的查询业务都
算术表达式采用后缀式表示时不需要使用括号,使用(5)________________就可以方便地进行求值。a-b*(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为(6)________________,与该表达式等价的语法树为(7)___
在安全通信中,S将所发送的信息使用(12)________________进行数字签名,T收到该消息后可利用(13)________________验证该消息的真实性。
I/0设备管理软件一般分为4个层次,如下图所示。图中①②③分别对应(21)________________。
计算机执行程序时,CPU中()的内容是一条指令的地址。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】在Linux系统中,用户账号是用户的身份标志,它由用户名和用户口令组成。Linux系统的用户名文件通常包含如下形式的内容:root:x:0:0:root:/roo
阅读下列说明和表,回答问题,将解答填入答题纸的对应栏内。【说明】防火墙类似于我国古代的护城河,可以阻挡敌人的进攻。在网络安全中,防火墙主要用于逻辑隔离外部网络与受保护的内部网络。防火墙通过使用各种安全规则来实现网络的安全策略。防火墙的
阅读下列说明和表,回答问题,将解答填入答题纸的对应栏内。【说明】防火墙类似于我国古代的护城河,可以阻挡敌人的进攻。在网络安全中,防火墙主要用于逻辑隔离外部网络与受保护的内部网络。防火墙通过使用各种安全规则来实现网络的安全策略。防火墙的
在事件1中,你认为监理公司在监理规划编制方面是否有不妥之处?为什么?根据事件3中确定的“进度控制程序”的实施原则,把下列进度控制的工作按照正确的顺序通过下面给出的框图联系起来(将工作序号恰当地填写到框图中),形成进度控制工作程序图。①基
随机试题
下列符号中表示点双列相关的是()
胸廓的弹性回缩力向外是在
在下列各血管中,血压波动幅度最大的是
女,13岁,发热伴右大腿疼痛2周,查体:精神委靡,患肢呈半屈曲位,皮温高,右大腿远端有压痛。WBC14×109/L,中性粒细胞占90%,股骨正侧位X线片可见干骺端骨质疏松及层状骨膜反应。可能性最大的诊断是
患者,男,22岁。头痛,以后头部为主,阵阵发作,痛如锥刺,时有胀痛,每当受风或劳累时疼痛加重,舌苔薄,脉弦。治疗应首选
患者,男性,45岁。护士为其静脉注射25%葡萄糖溶液时,患者自述疼痛,推注时稍有阻力,推注部位局部隆起,抽无回血,此情况应考虑是
根据有关规定,灭火器不论已经使用过还是未经使用,距出厂的年月已达规定限额时必须送维修单位进行水压试验检查。智宏公司的灭火器已经买了两年了,但现在不需要送维修单位进行水压试验检查。由此可见:
在页式存储管理中,系统提供一对硬件寄存器,它们是
下列构造方法的调用方式中,正确的是()。
LeavingHomeGenerally,mostpeoplehaveintheirmindsapictureoftheir"idealhome",butifyouarestudentsorpeopleju
最新回复
(
0
)