線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:582
推到 Plurk!
推到 Facebook!

[問題] 結構元素的讀取

尚未結案
polongkon
一般會員


發表:8
回覆:19
積分:5
註冊:2004-04-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-04 18:31:25 IP:210.61.xxx.xxx 未訂閱
請問一個有關結構的使用問題。 定義一個結構,並給予初值,假設結構中的元素(物件)有很多個(我的例子是一百多個); 現在我需要將結構中某一部份的元素列印出來,如果是用struct_name.element(或struct_name->element)一個一個指定,似乎是不可能,若用for迴圈的方式去搜尋結構中所有元素(問題,怎麼判定結構中有多少個元素),並將符合的條件的元素列印出來,有什麼方法可以動態指向結構中的某個符合條件的元素? 譬如,結構中有一百個型態一樣的變數(假設是整數),現在,我需要在這一百個元素中,將元素值小於某數的結構元素和其數值列印出來,請問 各位先進大大,這應該怎麼寫比較好?
liangnet
中階會員


發表:19
回覆:148
積分:83
註冊:2004-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-05 09:06:12 IP:218.170.xxx.xxx 未訂閱
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  ;
}
用結構定義的資料,在記憶體是連續的! 所以你可以將此位址傳給指標,再用指標去存取!
系統時間:2024-07-01 6:41:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!