黑马程序员技术交流社区

标题: c语言基础面试题 [打印本页]

作者: songynnm    时间: 2015-8-16 15:20
标题: c语言基础面试题
8、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。  
  9、设有以下说明和定义:  
  typedef union {long i; int k[5]; char c;} DATE;   struct data { int cat; DATE cow; double dog;} too;   DATE max;  
  则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____  
  答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20
data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32. 所以结果是 20 + 32 = 52.
当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20
    10、队列和栈有什么区别?   
  队列先进先出,栈后进先出






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2