1. /*enum:一个变量可能存在几种值时采用,大小为一个整型 */
enum Days
{
saturday,
sunday = 0,
monday,
tuesday
}today;
enum Days yesterday;
printf("size of enum today:%d/n", sizeof(today));
printf("before initilized, today=%d/n", today); // 未初始化
today = saturday;
printf("after initilized, today = %d/n", today);
2./*union:一个变量可能存在几种类型时采用,大小为几种类型中最大的那种*/
union CHARINT
{
//char c ;
int i ;
int j;
char c;
}un1;
union CHARINT un2;
printf("size of union CHARINT:%d/n", sizeof(un1));
3. #define与typedef举例(dev中通过)
#include <stdio.h>
#include <stdlib.h>
/*#define:定义符号常量,常放在代码最上方,无分号,编译时仅做替换,易读*/
#define SATURDAY 6
#define SWEETWORDS char *
int main(int argc, char *argv[])
{
/*#define:将简单变量易读化,非声明,无分号,定义符号常量,常放在代码最上方,编译时仅做替换*/
printf("hope everyday is %d/n", SATURDAY);
SWEETWORDS s1 = "what a beauty!";
printf("say some sweet words like: %s/n", s1);
/*typedef:将复杂变量组合简单化,声明,有分号,另主要用于可移植性*/
/*typedef enum用法*/
typedef enum
{
SUNDAY = 0,
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY
}TODAY;
TODAY today = 2;
printf("today is the %dth day of a week!/n", today);
/*typedef struct用法*/
typedef struct
{
int age;
char *name;
char *address;
} PERSONINFO;
PERSONINFO theguy;
theguy.age = 30;
theguy.name = "jack";
theguy.address = "hell";
printf("%s is %d ages old, live in %s/n",theguy.name,theguy.age, theguy.address);
system("PAUSE");
return 0;
}