0
本能地,我发现在那里把空格指针声明:typedef int * intptr OR typedef int * intptr;
int system(const char *command); // <-- right
int* foo() { return 0; } // <-- wrong
int *X = 123; // <-- right
int* Y = 321; // <-- wrong
int *Z = (int*) X += (int*)Y // <-- right
#define pchar char* // <-- right
但是这仍然让我为难:
typedef int* intptr;
OR
typedef int *intptr;
凡星所属的左边还是右边?
这是一个偏好问题。 – Chad
在我看来,后者是正确的。请记住,'*'的意思是'内容'。你正在声明一个变量,其内容是一个字符。 –
@ user2580516 intptr不是一个变量,它是一个类型。它是'int *'类型的别名。在设计更好的语言中,类型将会像'^ int'那样。并且'*'不是指类型中的“内容”,它表示“指向[类型]”。 –