c ++中的以下类似语句之间有区别吗?

时间:2013-11-14 01:30:55

标签: c++ pointers

第一组:

char *pt[10]={}
char  pt[10]={}

第二组:

char* pt
char  *pt

上述群体之间的差异在哪里?哪个是首选的?

1 个答案:

答案 0 :(得分:6)

  • char *pt[10]={}是指向char
  • 的指针数组
  • char pt[10]={}char
  • 的数组

在第二组......

char* ptchar *pt之间没有区别,但为了便于阅读和避免混淆,您可能最好使用char *pt。它们都创建了一个指向char的指针。但是,请考虑以下事项:

char* pt, c;

在这种情况下,pt是指向char的指针,而c只是一个常规char变量。 char*不会将每个后续变量设为char pointer。正如我所说,为了便于阅读并避免让自己感到困惑,以下内容可能更好:

char *pt, c;

这与上面的例子完全相同,但它很难将其误解为两个指针。虽然最佳实践可能诚实地只是在不同的行上声明它们。