3

10 個の要素 (sentinel 値の場合は 11 番目) の構造体と、最初の構造体要素のアドレスを割り当てる構造体ポインターを作成しました。

struct student
{
    int roll_no;
};

struct student s[11];  
struct student *ptr = &s[0];    

s[10] = NULL;    // Sentinel value
while (*ptr != NULL )  // Sentinel Controlled Loop
{
    printf ("%d - ", ptr -> roll_no);

    ptr++;
}  

構造体配列の末尾にセンチネル値を指定するにはどうすればよいですか?

編集: 構造内の値は動的に変化しています。つまり、10 個の構造用のスペースを作成しましたが、一度に 5 つの要素しか存在しない可能性があります。6位のセンチネル値。
ユーザーが新しい構造要素を入力すると、センチネル値が前方にシフトするなどの理由で、(int i < 10) 条件を使用してすべての値を単純に出力することはできません。

4

1 に答える 1