0
#define MAX_THREADS ( 17 )
struct thread_info
{
  unsigned int * thread_sp; /* Storage space for thread stack-pointer. */
  int thread_id;            /* Storage space for a thread ID. */
};
struct thread_info thread_info_array[ MAX_THREADS ];

2番目の構造体がわかりません。それが何をするのか説明していただけますか?定数を変更した場合、定数は構造体をどのように変更しますか?

アップデート

私はそれが同じだと思います:

struct thread_info { unsigned int *thread_sp; int thread_id; } thread_info_array[MAX_THREADS];
4

3 に答える 3

2

以下

struct thread_info thread_info_array[ MAX_THREADS ];

以前に宣言された構造体の配列ですthread_info。配列はMAX_THREADS要素で構成されています。定数を変更すると、配列のサイズが変更されます。

2番目のキーワードが必要な理由については、CFAQを参照してください。struct

于 2013-03-23T10:10:38.947 に答える
2

struct thread_info thread_info_array[ MAX_THREADS ];は要素の構造のthread_info_array配列であることを意味します。thread_infoMAX_THREADS

定数を変更すると、配列内の要素の数が変更されるだけで、struct定義には影響しません。

于 2013-03-23T10:10:59.493 に答える
2

「2番目の構造体」ではありません。

これ:

struct thread_info
{
  unsigned int * thread_sp; /* Storage space for thread stack-pointer. */
  int thread_id;            /* Storage space for a thread ID. */
};

タイプ定義です。

これ:

struct thread_info thread_info_array[ MAX_THREADS ];

はMAX_THREADS要素の配列定義であり、各要素はstruct thread_info上記で定義したタイプです。

于 2013-03-23T10:12:01.757 に答える