1.bool,float,指针变量与“零值”比较的if语句?
答:(1) int变量比较
if(n==0)或if(n!=0)
(2)bool flag与零值比较
if(flag)或if(!flag)
(3)float x与零值的比较
const float ESPINON=0.000001;
if(x>=ESPINON)或if(x<=ESPINON)
(4)char p与零值的比较
if(p==NULL)或if(*p!=NULL)
2.以下为linux下的32位的C程序,求sizeof()
char str[]="hello";
char *p=str;
int n=10;
请计算:
(1)sizeof(str)=6
(2)sizeof(p)=4
(3)sizeof(n)=4
(4)void Func (char str[100])
{
……;
}
请计算:
sizeof(str)=4
(5)char *p=malloc(100)
请计算:
sizeof(p)=4
12.数组和链表的区别
数组是固定大小的,顺序存储
链表是随机存储,大小可以改变
27.关键词volatile有什么含义?举3个不同的例子
一个定义为volatile的变量是说这个变量可能会被意想不到的改变。精确地来说就是每次使用这个变量时必须每次都小心地重新读取这个变量的值,而不是使用寄存器里的备份。
例子:
(1)并行设备的硬件寄存器
(2)一个中断服务子程序会访问到的非自动变量
(3)多线程应用中被几个任务共享的变量
28.编写代码:要求设置绝对地址为0x67a9的整型变量的值为0xaa66.编译器是一个纯粹的ANSI编译器。
int *str;
str=(int *)0x67a9;
*str=0xaa66;
29.头文件中的ifndef/define/endif干什么用的
答:防止文件被重复引用
include<filename.h>和include“filename.h”有什么区别?
答: