我試圖用一個外部結構,但是當我編譯我的C代碼我得到這樣的信息:在頭文件中使用的結構體[C - 的Linux]
subscripted value is neither array nor pointer nor vector
。
爲什麼?
messaggio.h
struct Request {
struct {
u_int data_len;
float *data_val;
} data;
bool_t last;
};
typedef struct Request Request;
的main.c
#include "messaggio.h"
int main(void){
struct Request x;
x.data[0] = 4.6;
printf("%f\n",x.data[0]);
return 0;
}
感謝。我goig接受你的答案。但爲什麼我得到:分段錯誤錯誤? – user2467899
在引用它之前,您必須將malloc內存設置爲x.data.data_val。當你定義一個指針時,指針包含一個隨機值,所以當你引用一個隨機指針時,很可能得到一個核心轉儲。 – TieDad