3

ヘッダー ファイルにいくつかの構造体を定義します。一部の構造体には定数値を持つすべてのメンバーがあり、他の構造体には定数値を持つメンバーの一部があります。

定数メンバーを持つ構造体の場合、ヘッダー ファイルで定数変数を定義することは可能ですか?

ヘッダファイル tcp_option.h のように

struct tcp_opt_nop
{
    _uint_t kind;  /* it has a constant value 0x01*/
}

だから私は定数変数を定義したい

struct tcp_opt_nop opt_nop={ 0x01};

この変数は他のソースファイルで使用できます

4

2 に答える 2

6

あなたはextern可変する必要があります。

.hファイル:

#ifndef HDR_H
#define HDR_H

typedef struct 
{
    int  kind;  /* it has a constant value 0x01*/
} tcp_opt_nop;

extern const tcp_opt_nop  opt_nop;

#endif

.cファイル:

#include "hdr.h"

const tcp_opt_nop opt_nop = {0x01};

メインファイル:

#include "hdr.h"

int main()
{
    printf("%i\n", opt_nop.kind);
    // ...
}
于 2013-03-20T17:57:09.650 に答える
-3

はい、定義できます。次のコードを参照してください。

#include<stdio.h>
typedef struct temp
{
    int a;
} temp;
const temp test={5};
int main()
{
    printf("%d",test.a);
    return 0;
}
于 2013-03-20T17:35:54.557 に答える