这是一个有效的声明吗?

时间:2013-10-11 14:21:14

标签: c pointers

这是否正确地将一个整数和另一个整数声明为指向整数的指针,或者这只会导致问题?

int *countPtr, count;

5 个答案:

答案 0 :(得分:3)

这是一个有效的声明,它将编译。

然而,它可能导致混淆,因此单独声明它会更安全:

int count;
int *countPtr;

为了提高可读性,您可以牢记这个简单的规则:

不要在一个声明中混合使用类型。

你不想看到像int x, y, *p, t[10], i, f();这样的噩梦。

答案 1 :(得分:1)

  

这是否正确地将一个整数和另一个整数声明为指向整数的指针?

  

这会引起问题吗?

是。对于显而易见的可读性/维护问题,强烈建议不要在一行上声明多个类型(特别是在示例中涉及指针时)。

答案 2 :(得分:1)

完全没问题。

  • countPtr将成为指向int
  • 的指针
  • count将只是常规的

答案 3 :(得分:1)

不,这是一个有效的声明,可以按预期工作。

书写

int* countPtr, count

会做同样的事情,但会导致混淆。

答案 4 :(得分:1)

Will this correctly declare one an integer and another as an pointer?

绝对

will this just cause problems?

从编程上讲,编号可读性取决于您如何解释声明int *countPtr, count;。我把它读作“整数持有者countPtr和整数计数”。所以对我没问题。