早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

在设备驱动程序(函数)Dev_drv1中,对指针ptr的说明如下:【C语文代码】 intDev_drv1(int arg1,int ar

题目

在设备驱动程序(函数)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。
ptr的值为以下均按正确对待。 0x3751DC,或3751DCH,或十六进制3751DC,或3751DC。 解析:本题考查对C语言指针变量的理解。在指针赋予某一变量的地址后,该指针就指向该变量所分配的地址空间。需要强调的是,指针变量是有类型的,指针的值加1,表示增加按其声明类型所占的字节数,而不是增加一个字节的地址。因此ptr++后ptr的值比原来增加28个字节,当前的值应为0x3751DC。
看了在设备驱动程序(函数)Dev_...的网友还看了以下: