c ++:指针声明中星号的位置 以及 *符号与&符号的意思

这些示例如何:

int* test;
int *test;
int * test;

int* test,test2;
int *test,test2;
int * test,test2;

前三个案例都在做同样的事情:Test不是一个int,而是一个指向int的指针。

第二组,在情况4中,test和test2都是指向int的指针,而在情况5中,只有test是一个指针,而test2是"真实" int。 情况6呢? 与情况5相同?

4、5和6是同一件事,只是测试是一个指针。如果要两个指针,则应使用:

int *test, *test2;

或者,甚至更好(使一切清晰):

int* test;
int* test2;

星号周围的空白不重要。这三个意思相同:

int* test;
int *test;
int * test;

喜欢哪种样式都没有关系,并且每种有不同的解释方式,
第一种,testint*类型的,一个int指针
第二种,*testint类型的,指针指向的是int类型

" int *var1, var2"是一种邪恶的语法,使人感到困惑,应避免使用。它扩展为:

int *var1;
int var2;

有用的是向后读取声明。

int* test;   // test is a pointer to an int

当开始声明const指针时,要弄清是指针是const还是指针所指向的东西是const变得很棘手。

int* const test; // test is a const pointer to an int
int const * test; // test is a pointer to a const int ... but many people write this as  
const int * test; // test is a pointer to an int that's const

附加:

c++指针、*符号与&符号的意思

&a:存a的值的地方
*a:指向某个地址

*p=&a 指针p现在指向存a的值的地址
因此p的值=a的值
但是&p不等于&a,存p的值的地方是另一个地址

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 指针*可以连用是因为它表示解引用操作,即获取指针所指向的变量的值。例如,如果有一个int类型的指针p,那么*p就是p所指向的int类型变量的值。因此,可以使用连续的指针*来获取多级指针所指向的变量的值。 取地址符号&不能连用是因为它表示获取变量的地址。一个变量只有一个地址,因此不能使用连续的取地址符号&来获取变量的地址。例如,如果有一个int类型的变量a,那么&a就是a的地址,不能使用&&a来获取a的地址。 ### 回答2: 指针*连用的原因是为了表示所指向的值。在C语言指针是一个特殊类型的变量,它不存储实际的值,而是存储一个内存地址,指向内存的某个位置。 当我们需要访问指针所指向的值时,可以使用取值操作符*。取值操作符*可以将指针所指向的地址的内容提取出来,返回一个与指针所指向的值类型相匹配的值。这样,我们就可以通过指针来访问和修改实际存储在该内存地址处的值。 而取地址符号&用于获取变量的内存地址。当我们需要获取一个变量的地址时,可以使用取地址符号&加上变量名称,得到该变量所在内存地址。 这两个操作符的连用,可以满足我们对于指针的基本需求。我们可以定义一个指针变量,然后通过取地址符号&获取另一个变量的地址,然后将这个地址赋值给指针变量。接着,使用取值操作符*可以获取该地址所对应的值。 总之,指针*可以连用是为了方便我们通过指针来访问、修改内存存储的值,取地址符号&则是用于获取变量的内存地址。这两个操作符的连用可以满足我们对指针的基本需求,提供了灵活而强大的编程能力。 ### 回答3: 指针是C语言的一种特殊数据类型,它用于存储和处理变量的内存地址。指针由两部分组成,即指针变量和所指向的内存地址。 首先,让我们来了解指针变量的作用。指针变量用于存储内存地址,通过它可以访问和操作这些内存地址所对应的数据。为了声明一个指针变量,我们需要使用一个指针类型的关键字(例如int、char等)以及一个星号*。这个星号告诉编译器我们要声明一个指针。 在C语言,我们可以使用一个星号*来进行取值操作,也就是通过指针变量来获取指针所指向的内存地址对应的值。这个星号告诉编译器我们要对指针进行解引用。 另外,我们还可以使用一个取地址符号&来获取一个变量的内存地址。这个&符号告诉编译器我们要获取变量的地址。 那么为什么指针*可以连用,取地址符号&呢? 首先,指针变量的声明需要使用一个星号*,这是C语言的语法规定。 其次,指针的解引用操作通过一个星号*来实现,这个星号告诉编译器我们要获取指针所指向的内存地址对应的值。 最后,取地址符号&用于获取一个变量的内存地址,这样我们就可以通过指针变量来访问和操作这个变量。 因此,指针*和取地址符号&是C语言的两个重要标识符,它们的使用是为了能够有效地管理和操作内存地址,实现灵活的数据处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值