当前位置: 技术问答>linux和unix
关于C语言结构体初始化的疑问
来源: 互联网 发布时间:2016-04-02
本文导语: 大家好,我是新手,遇到以下疑惑: typedef struct config_data { char *user_name; => char user_name[20]; int user_id; char *server_ip; => char server_ip[20]; int server_port; } config_data_t; c...
大家好,我是新手,遇到以下疑惑:
typedef struct config_data {
char *user_name; => char user_name[20];
int user_id;
char *server_ip; => char server_ip[20];
int server_port;
} config_data_t;
config_data_t *my_config_data;
my_config_data = (config_data_t*)malloc(sizeof(config_data_t));
bzero(my_config_data, sizeof(my_config_data));
看过坛子里的相关问题后,觉得如果是自定义的结构体,能不用指针就不用(就像箭头指向的修改),这样上述代码可以完成初始化。但是,如果是调用库中的结构体呢,比如struct hostent,里面的指针变量是定义好的,在初始化这样的结构体是该怎么办呢??
希望得到大家的回答。本人是新手,没有多少分,但是有多少就奉献多少,希望多多包涵^_^
typedef struct config_data {
char *user_name; => char user_name[20];
int user_id;
char *server_ip; => char server_ip[20];
int server_port;
} config_data_t;
config_data_t *my_config_data;
my_config_data = (config_data_t*)malloc(sizeof(config_data_t));
bzero(my_config_data, sizeof(my_config_data));
看过坛子里的相关问题后,觉得如果是自定义的结构体,能不用指针就不用(就像箭头指向的修改),这样上述代码可以完成初始化。但是,如果是调用库中的结构体呢,比如struct hostent,里面的指针变量是定义好的,在初始化这样的结构体是该怎么办呢??
希望得到大家的回答。本人是新手,没有多少分,但是有多少就奉献多少,希望多多包涵^_^
|
不管是自定义的结构还是库里的结构,定义变量后都由你来完成初始化,系统不会为你作这个工作,不用想太多