c语言中有个东东叫 “mei” “ju”的,面试时有人问的,能解释一下么?
发布网友
发布时间:2022-03-27 14:02
我来回答
共1个回答
热心网友
时间:2022-03-27 15:32
C语言用户自定义函数(自己总结的~~分享一下):
结构体:用户自己建立的由不同类型数据组成的组合型的数据结构成为结构体。
Struct Date
{
Int month;
Int day;
Int year;
};
Struct Student
{
Int num;
Char name[20];
Char sex;
Int age;
Struct Date birthday;
Char addr[30];
}student1,student2;
共用体:使几个不同的变量共享同一段内存的结构,称为“共用体”类型的结构
Union Data
{
Int I;
Char ch;
Float f;
}a,b,c;
结构体和共用体的区别:
结构体变量所占的内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。而共用体变量所占的内存长度等于最长的成员的长度。例如上面定义的“共用体”变量a,b,c各占4个字节,而不是各占9个字节。
枚举:如果一个变量只有几种可能的值,则可以定义为枚举类型。“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。例如:
enum weekday{sun,mon,tue,wed,thu,fri,sat};
一定要把数值赋予枚举变量,则必须用强制类型转换。
如:
a=(enum weekday)2;
其意义是将顺序号为2的枚举元素赋予枚举变量a,相当于:
a=tue;
还应该说明的是枚举元素不是字符常量也不是字符串常量,使用时不要加单、双引号。
用typedef声明新类型名(编译阶段):
1、简单的使用一个新类型名代替原有类型名。如:
Typedef int Integer;
Integer i,j;
2、命名一个简单的类型名代替复杂的类型名:
(1)命名一个新的类型名代替结构体类型
Typedef struct
{ Int month;
Int day;
Int year;
}Date;
Date birthday;
Date *p;
(2)命名一个新的类型名代替数组类型、指针类型\指向函数的指针类型
Typedef int num[100];
Num a;
Typedef char *string;
String p,s[10];
Typedef int(*pointer)();
Pointer p1,p2;