某进程的虚拟地址空间如图,阴影部分为未占用区域,有C程序:
char * ptr;
void main() {
int length;
ptr=(char* ) malloc (100) ;
scanf( "%s" , ptr);
length=strlen (ptr) ;
printf ( "length= %d\n" , length) ;
free(ptr) ;
}
1)上述程序执行时,PCB位于哪个区域,执行scanf ()等待键盘输入时,该进程处于什么状态?
2) main ()函数的代码位于哪个区域?其直接调用的哪些函数的功能需要通过执行驱动程序实现?
3)变量ptr被分配在哪个区域?若变量length没有被分配在寄存器中,则会被分配在哪个区域? ptr 指向的字符串位于哪个区域?
登录后提交答案
暂无评论,来抢沙发