C/C++中定义指针时*应该紧跟着前面的类型还是后面的变量呢?
本文介绍了C/C++中定义指针时*应该紧跟着前面的类型还是后面的变量呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在定义指针时,写成
int* p;
或
int *p;
都能编译通过。但是,应当怎样理解*
与int
和p
的关系呢?
也就是说,这个语句应该理解成 int *p
,还是 int* p
呢?int *p
与 int (*p)
是等价的吗?那int (*p)[5]
与int *p[5]
为什么是两个不同的语句?
可以将*
看做一种数据类型吗?int*
整体是一种数据类型吗?
这里的*
与使用指针时的取变量运算符*
是一个东西吗?
C++初学者诚心向大神请教一二
解决方案
int* p;
比较合适,这就是为什么 int (*p)[5]
和 int *p[5]
不是一个概念
*
不是一种类型,你不需要纠结 *
是什么东西,语法就是这样的
定义时的 *
仅仅是与类型搭配使用的一般意义的指针
表达式中变量前的 *
是另一个概念:解引用
这篇关于C/C++中定义指针时*应该紧跟着前面的类型还是后面的变量呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文