相关疑难解决方法(0)

为什么变量名之前的星号,而不是类型之后?

为什么大多数C程序员都将变量命名为:

int *myVariable;
Run Code Online (Sandbox Code Playgroud)

而不是像这样:

int* myVariable;
Run Code Online (Sandbox Code Playgroud)

两者都有效.在我看来,星号是类型的一部分,而不是变量名称的一部分.谁能解释这个逻辑?

c variables pointers naming-conventions

177
推荐指数
10
解决办法
5万
查看次数

宣告指针; 类型和名称之间的空格左侧或右侧的星号?

可能的重复:
什么更有意义 - char*string或char*string? C++中的指针声明:星号的放置

我已经在很多代码中看到了这个的混合版本.(顺便说一下,这适用于C和C++.)人们似乎用两种方式之一来声明指针,我不知道哪一个是正确的,如果它甚至是重要的.

第一种方法是将星号放在类型名称旁边,如下所示:

someType* somePtr;
Run Code Online (Sandbox Code Playgroud)

第二种方法是将星号放在变量名称旁边,如下所示:

someType *somePtr;
Run Code Online (Sandbox Code Playgroud)

这已经让我疯了一段时间了.是否有任何标准方法来声明指针?甚至指针是如何声明的?我之前使用过两个声明,并且我知道编译器并不关心它是哪种方式.然而,事实上,我已经看到以两种不同的方式宣告指针,这让我相信它背后有一个原因.我很好奇,如果任何一种方法在某些方面更具可读性或逻辑性,那我就错过了.

c c++ pointers

116
推荐指数
5
解决办法
6万
查看次数

在指针声明中放置星号

我最近决定我必须最终学习C/C++,有一件事我不太了解指针,或者更确切地说,他们的定义.

这些例子怎么样:

  1. int* test;
  2. int *test;
  3. int * test;
  4. int* test,test2;
  5. int *test,test2;
  6. int * test,test2;

现在,根据我的理解,前三个案例都是相同的:测试不是一个int,而是一个指针.

第二组示例有点棘手.在case 4中,test和test2都是指向int的指针,而在case 5中,只有test是指针,而test2是"real"int.案例6怎么样?案例5相同?

c c++ pointers declaration

86
推荐指数
8
解决办法
3万
查看次数

什么更有意义 - char*string或char*string?

可能重复:
在C中,为什么变量名前的星号,而不是类型之后?

我现在正在学习C++,而且我遇到了很多以空字符结尾的字符串.这让我思考,在声明指针时更有意义:

char* string
Run Code Online (Sandbox Code Playgroud)

要么

char *string
Run Code Online (Sandbox Code Playgroud)

?对我来说,char*格式更有意义,因为"string"的类型是指向char的指针,而不是char.但是,我通常会看到后一种格式.显然,这也适用于参考文献.

有人可以告诉我,后一种格式是否有合理的原因?

c++ string pointers

27
推荐指数
6
解决办法
7383
查看次数

标签 统计

pointers ×4

c ×3

c++ ×3

declaration ×1

naming-conventions ×1

string ×1

variables ×1