C语言题目归类分析
来源:互联网 发布:最近的网络热歌有哪些 编辑:程序博客网 时间:2024/05/21 11:18
1. ********************************************************************************************************************************************************************************
int func(int a)
{
int b;
switch(a)
{
case 1: b=30;
case 2: b=20;
case 3: b=16;
default: b=0;
}
return b;
}
则func(1)=?
答:func(1)=0,因为没有break语句,switch中会一直计算到b=0。这是提醒我们不要忘了break。呵呵。
2***************************************************************************************************************************************************************************************
我们再看如下的例子return 返回什么东西呢?
char *Func(viod)
{
char str[30];
...
return str;
}
这个程序是有错误的,str属于是局部变量,位于栈内存中,在Func结束的时候被释放,所以返回str会导致错误。return 不能返回指向栈内存的指针,应为这个内存地址空间在函数结束时内存地址会被释放掉。
3***************************************************************************************************************************************************************************************
typedef
struct _PM1a_CNT_BLK
{
UINT32 SciEn :1; 位域结构体 真个结构体占用UINT32大小
UINT32 BmRld :1;
UINT32 GblRls :1;
UINT32 Reserved1 :7;
UINT32 SlpTyp :3;
UINT32 SlpEn :1;
UINT32 Reserved2 :18;
}PM1a_CNT_BLK;
PM1a_CNT_BLK Pm1aCntReg;
*((UINT32*)&Pm1aCntReg) = 0;
*((UINT32*)&SmiEnReg) = 0;
*((UINT16*)&Pm1aEvtReg) = 0;
这是UEFI 代码中的一个小片段,对这里的理解是:首先定义了一个 _PM1a_CNT_BLK 类型的结构体变量Pm1aCntReg,然后对这个结构体变量取地址,再强制转换为UINT32 类型的指针变量(地址就是指针,所以这里要加“*”号。例如 你要定义一个指针也需要UINT32 * a ),然后再取地址里面的值,这里是为了方便的为这个结构体赋值
- C语言题目归类分析
- c语言细节中的文件归类代码
- C语言机考题目分析
- POJ题目归类
- kuangbin-poj题目归类
- C语言解惑上面一个数组指针题目分析
- c语言解惑里面典型指针题目分析2
- C语言面试宝典题目分析(一)
- C语言面试宝典题目分析(二)
- C语言面试宝典题目分析(三)
- C语言面试宝典题目分析(四)
- C语言面试宝典题目分析(五)
- 数组概念和题目分析(C语言部分)z
- c语言面试题目
- 一道C语言题目
- C语言笔试题目
- c语言题目
- c语言100题目
- C语言指针的运算
- KINECT开源项目:Open KINECT介绍 与 Open KINECT源码下载
- Error: failed PB timebomb check
- C++ 求两数的最大公约数
- regular dll 模块切换
- C语言题目归类分析
- ASCII编码与中文互转
- WAS61安装调整和应用部署.doc
- ASP.NET服务端控件,HTML控件,HTML服务端控件 的区别
- 基于接口(工厂模式)三层架构的引用和访问流程
- 基础总结篇之六:ContentProvider之读写联系人
- Android平台广告展示连续11月领先iOS
- Linux的内核版本和发行版本
- linux下新加硬盘