星号在指针声明中的位置

星号在指针声明中的位置

我最近决定,我必须最终学习C/C+,而且有一件事我并不真正理解指针,或者更准确地说,就是它们的定义。

以下几个例子如何?

  1. int* test;

  2. int *test;

  3. int * test;

  4. int* test,test2;

  5. int *test,test2;

  6. int * test,test2;

现在,据我了解,前三种情况都是一样的:测试不是int,而是指向一个int的指针。

第二组示例比较棘手。在案例4中,test和test 2都是指向int的指针,而在案例5中,只有test是指针,而test 2是“真实的”int。案例6呢?和5号案子一样?


慕标5832272
浏览 751回答 3
3回答

qq_遁去的一_1

4、5和6是一回事,只是试验是一个指针。如果您想要两个指针,您应该使用:int *test, *test2;或者,更好的(把一切都说清楚):int* test;int* test2;

倚天杖

使用顺时针螺旋规则帮助解析C/C+声明;下面有三个简单的步骤:从未知元素开始,向螺旋/顺时针方向移动;遇到下列元素时,用相应的英文语句替换它们:[X]或[]*X阵列大小为.或数组未定义的大小.。(type1, type2)函数传递类型1和类型2返回.。**指向.的指针。继续沿着螺旋/顺时针方向做这件事,直到所有令牌都被覆盖为止。始终先解决括号内的任何问题!此外,在可能的情况下,声明应该是单独的声明(大多数情况下都是这样)。
打开App,查看更多内容
随时随地看视频慕课网APP