面试题答案
一键面试- 枚举定义
// 定义枚举类型
typedef enum {
VALUE1,
VALUE2,
VALUE3
} MyEnum;
- 结构体定义与初始化
// 定义结构体
typedef struct MyStruct {
int arr[5];
struct MyStruct *ptr;
MyEnum enumValue;
} MyStruct;
// 结构体初始化
MyStruct initStruct = {
.arr = {1, 2, 3, 4, 5},
.ptr = NULL,
.enumValue = VALUE1
};
- 初始化指针时的注意事项:在初始化指针时,将其设置为
NULL
是一种良好的编程习惯,这样可以避免野指针的产生。野指针指向的内存地址是不确定的,访问野指针可能会导致程序崩溃或未定义行为。将指针初始化为NULL
后,在真正使用指针之前,可以先检查指针是否为NULL
,从而防止出现访问无效内存的错误。例如在后续使用ptr
指针之前,可以使用if (initStruct.ptr!= NULL)
这样的判断语句来确保安全访问。