首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。 【说明】 在嵌入式操作系统设备管理的实现上,常使用到C语言的函数指针变量,由统一的管理函数调用不同的设备驱动程序。下面的一段C语言代码是驱动管理程序 manage_device调用4
阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。 【说明】 在嵌入式操作系统设备管理的实现上,常使用到C语言的函数指针变量,由统一的管理函数调用不同的设备驱动程序。下面的一段C语言代码是驱动管理程序 manage_device调用4
admin
2009-02-01
84
问题
阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。
【说明】
在嵌入式操作系统设备管理的实现上,常使用到C语言的函数指针变量,由统一的管理函数调用不同的设备驱动程序。下面的一段C语言代码是驱动管理程序 manage_device调用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, int arg2);
extern int Dev_drv3(int arg1, int arg2);
extern int Dev_drv4(int arg1, iht arg2);
#define NOERROR 0
type struct {
int _fd;
} TYP_DEV_TAB;
TYP DEV_TAB dev_tab[50]= {101,99, 80, 120,};
/*程序代码*/
void manage_device(int devid, int arg1, int arg2)
{ int place ;
int ret;
for(place=0 ; place<50 ; place++)
if dev_tab [place]. fd == devid) break;
if(place>=50)
printf(" NO DEVICE fd = %d\n ",devid);
switch(dev_tab [place]._fd) {
case 80:
ret = Dev_drv3(int arg1,int arg2);
break;
case 99:
ret = Dev_drv2(int arg1,int arg2);
break;
case 101:
ret = Dev_drv1(int arg1,int arg2);
break;
case 120:
ret = Dev_drv4(int arg1,int arg2);
break;
}
if (ret!=NOERROR)
printf(" DEVICE %d error!\n ", devid);
}
int Dev_drv1(int arg1,int arg2)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/
}
int Dev_drv2(int arg1,int arg2)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/
}
int Dev_drv3(int arg1,int arg2)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/
}
int Dev_drv4(int arg1,int arg2)
{
/*局部变量声明,略*/
/*驱动程序代码,略*/
选项
答案
(1)int (*process)(int arg1,int arg2); (2)int (*ProcAction)(int arg1,int arg2); (3)ProcAction=dev_tab[place].process; (4)ret=ProcAction(arg1,arg2);
解析
本题考查对C语言中函数指针变量的理解和用法。在C语言中,可以用指针变量指向整型变量、字符串、数组、结构变量,也可以指向一个函数,对指针的用法非常灵活,也很容易出错。其中,函数指针变量为较高级的用法。
一个函数在编译时被分配给一个入口地址,这个入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。
本题已将使用变量指向函数编写设备驱动程序的大部分给出,只需在对函数指针变量的声明和引用处,只需给出正确的用法即可。
转载请注明原文地址:https://kaotiyun.com/show/hmWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
以下选项中,可以用于Internet信息服务器远程管理的是(7)。
关系模式R属性集为{A,B,C},函数依赖集F={AB→C,AC→B,B→C},则R属于(6)。
数据仓库系统通常采用3层的体系结构,底层为数据仓库服务器,中间层为(12),顶层为前端工具。
不属于安全性控制机制的是(9)。
关系模型SC(学号,姓名,学院,学院领导,课程号,课程笔,成绩),函数依赖集F={学号→(姓名,学院,学院领导),学院→学院领导,课程号→课程名,(学号,课程号)→成绩},则关系SC中(48)________________,要满足第二范式,应将SC分解
给定教师关系Teacher(T_no,T_name,Dept_name,Tel),其中属性T_no、T_name、Deptname和Tel的含义分别为教师号、教师姓名、学院名和电话。用SQL创建一个“给定学院名求该学院的教师数”的函数如下:C
假设铁路自动售票系统有n个售票终端,该系统为每个售票终端创建一个进程Pj(i=1,2,…,n)管理车票销售过程。假设Tjj=1,2,…,m)单元存放某日某趟车的车票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的购票张数。Pi进程的工作流程如下图所
以下对触发器的叙述中,不正确的是(60)________________。
在互联网中,各种电子媒体按照超链接的方式组织,通常使用(22)________________来描述超链接信息。
计算机中机械硬盘的性能指标不包括(4)________________。
随机试题
继发性内驱力
影响社会知觉的因素很多,这些因素可以归为几方面内容,下列()不属于其中之一。
白前与前胡都具有的功效是
患者,男性,63岁。反复发生黏液稀便、腹泻、便秘4个月,脐周及下腹部隐痛不适,腹平软,无压痛及肿块,粪便隐血试验(+)。发病以来,体重下降5kg。该患者最应该考虑
某工程项目业主邀请了三家施工单位参加投标竞赛。各投标单位的报价见表6-1,施工进度计划安排见表6-2。若以工程开工日期为折现点,贷款月利率为1%,并假设各分部工程每月完成的工作量相等,并且能按月及时收到工程款。就甲、乙两家投标单位而言,若不考虑
关于中国证监会对期货交易所的监管描述正确的有()。
相对于派发现金股利,食业发放股票股利的优点有()。(2009年)
也许在文字产生以前,人们就知道利用植物的生长和动物的行踪来判断季节,这种物候授时是早期农业生产所必需的。物候虽然与太阳运动有关,但由于气候变化多端,不同年份相同的物候特征常常错位几天甚至更多,_______。观象授时,即以星象定季节。比如《尚书.尧典》记载
所有的金属都能导电,铜是金属。所以铜能导电。以下哪项与上文推理形式相同?
DieMutterkauft______KinddasFahrrad.
最新回复
(
0
)