22

構造体の特定のメンバーを揮発性として宣言するにはどうすればよいですか?

4

4 に答える 4

35

struct非フィールドとまったく同じ:

#include <stdio.h>
int main (int c, char *v[]) {
    struct _a {
        int a1;
        volatile int a2;
        int a3;
    } a;
    a.a1 = 1;
    a.a2 = 2;
    a.a3 = 3;
    return 0;
}

を使用して全体structを揮発性としてマークできます"volatile struct _a {...}"が、上記の方法は個々のフィールド用です。

于 2009-06-11T06:59:58.267 に答える
11

この記事によると、かなり簡単なはずです:

最後に、構造体または共用体に volatile を適用すると、構造体または共用体の内容全体が揮発性になります。この動作が望ましくない場合は、構造体/共用体の個々のメンバーに volatile 修飾子を適用できます。

于 2009-06-11T06:59:32.607 に答える