引用:
写道:
struct SCIFFRX_BITS { // bits description
Uint16 RXFFIL:5; // 4:0 Interrupt level
Uint16 RXFFIENA:1; // 5 Interrupt enable
Uint16 RXFFINTCLR:1; // 6 Clear INT flag
Uint16 RXFFINT:1; // 7 INT flag
Uint16 RXFIFST:5; // 12:8 FIFO status
Uint16 RXFIFORESET:1; // 13 FIFO reset
Uint16 RXOVF_CLR:1; // 14 Clear overflow
Uint16 RXFFOVF:1; // 15 FIFO overflow
};
union SCIFFRX_REG {
Uint16 all;
struct SCIFFRX_BITS bit;
};
用SCIFFRX_REG.all就可以把SCIFFRX_BITS里的所有位都引用吗???
在c语言里有这样的介绍吗?????
2.Uint32 *Dest = (void *) &PieVectTable; 其中的void *是什么意思?
3, cp[x]= (char * ) malloc (10000,1)
if (cp[x]= = (char * ) NULL)
break
这两个语句分别是什么意思 ??不懂malloc, calloc以函数及NULL到底是不是就是0啊
1. 这个看C语言的union的介绍就应该明白了。 union的每个成员共享同样的内存,也就是把同一个内存的内容用各种形式来表达。
2. void * 表示指向空类型的指针,不知道为什么这句话不写成:Uint32 *Dest = (Uint32 *) &PieVectTable;
3. malloc和calloc都是动态分配内存的函数,google一下应该不难找到介绍。NULL就是0,一个指针如果指向的地址是0的话,那么这个指针就是空指针。
你可以在stdio.h之类的头文件中找到类似下面的定义:
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif