首页 >后端开发 >C++ >星号应该去哪里?了解 C 指针声明的歧义

星号应该去哪里?了解 C 指针声明的歧义

DDD
DDD原创
2024-12-21 18:46:12796浏览

Where Should the Asterisk Go? Understanding C   Pointer Declaration Ambiguity

指针定义难题:星号的位置

在指针领域,星号 (*) 的位置有时会引起人们的注意困惑。本文旨在通过检查几个指针声明示例来澄清歧义。

考虑以下代码片段:


  1. int* test; li>
  2. int *测试;

  3. int * 测试;

  4. int* 测试,test2;

  5. int *测试,测试2;

  6. int * test,test2;

传统上,人们认为前三个示例是相同的,将名为“test”的指针声明为整数。然而,这是一个错误的假设。

相反,星号的位置至关重要。在情况 4、5 和 6 中,“test”和“test2”都是指向整数的指针。相反,在情况 5 中,只有“test”是指针,而“test2”是常规整数。相反,情况 6 相当于情况 5,其中“test”是指针,“test2”是整数。

为避免进一步混淆,建议将指针声明与变量声明分开,如下所示:

int* test;
int* test2;

或者,您可以使用:

int *test, *test2;

此方法可确保清晰度以及指针声明的准确性。

以上是星号应该去哪里?了解 C 指针声明的歧义的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn