2014-02-21 61 views
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; 

凡星所属的左边还是右边?

+0

这是一个偏好问题。 – Chad

+0

在我看来,后者是正确的。请记住,'*'的意思是'内容'。你正在声明一个变量,其内容是一个字符。 –

+0

@ user2580516 intptr不是一个变量,它是一个类型。它是'int *'类型的别名。在设计更好的语言中,类型将会像'^ int'那样。并且'*'不是指类型中的“内容”,它表示“指向[类型]”。 –

回答

0

两者都是等效的。选择是一件事或个人喜好。