[問題] 結構元素的讀取 |
尚未結案
|
polongkon
一般會員 發表:8 回覆:19 積分:5 註冊:2004-04-16 發送簡訊給我 |
請問一個有關結構的使用問題。 定義一個結構,並給予初值,假設結構中的元素(物件)有很多個(我的例子是一百多個);
現在我需要將結構中某一部份的元素列印出來,如果是用struct_name.element(或struct_name->element)一個一個指定,似乎是不可能,若用for迴圈的方式去搜尋結構中所有元素(問題,怎麼判定結構中有多少個元素),並將符合的條件的元素列印出來,有什麼方法可以動態指向結構中的某個符合條件的元素? 譬如,結構中有一百個型態一樣的變數(假設是整數),現在,我需要在這一百個元素中,將元素值小於某數的結構元素和其數值列印出來,請問 各位先進大大,這應該怎麼寫比較好?
|
liangnet
中階會員 發表:19 回覆:148 積分:83 註冊:2004-01-03 發送簡訊給我 |
1.你可以在結構定義陣列! 2.用指標來存取
struct INT_STRUCT { int a0; int a1; ...... int a99; }; INT_STRUCT IntStruct; int *ptr; ptr = &IntStruct; for (int i = 0; i < sizeof(IntStruct) / sizeof(int); i ) { if (*ptr < 100) { ..... } ptr ; }用結構定義的資料,在記憶體是連續的! 所以你可以將此位址傳給指標,再用指標去存取! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |