此代码段中的b类型是什么?

时间:2017-02-06 13:49:52

标签: c struct typedef

typedef struct node {
    int value;
    struct node *next;
} NodeT;
const NodeT *a,b,c;

变量b实际上是一个常量的struct元素吗?

3 个答案:

答案 0 :(得分:3)

  

变量b实际上是一个常量的struct元素吗?

您的public double calculate(int size, int count) { int max = 365; int birthDays[] = new int[max]; Random rnd = new Random(); int hits = 0; for(int j = 1; j <= count; j++) { Arrays.fill(birthDays, 0); rnd.setSeed(j); for(int i = 0; i < size; i++) { int x = rnd.nextInt(max); birthDays[x]++; if(birthDays[x] >=2 ) { hits++; break; } } } return (hits/count) * 100; } 类型b,即const NoteT,作为声明:

const struct node

相当于:

const NoteT *a,b,c;

一般来说,如果您有以下声明:

const NoteT *a;
const NoteT b;
const NoteT c;

类型type *x, y, z, *w, ... ; 适用于所有变量,但只有那些前面有type的人才是该类型的指针。

答案 1 :(得分:1)

b具有完全限定类型const struct nodeconst限定符适用但指针不适用。

答案 2 :(得分:0)

const NodeT *a,b,c;

向后阅读,因为您只对b

感兴趣
const NodeT b;

bconst NodeT

NodeTstruct node

因此bconst struct node