您能否告诉我int* p
和int *p
声明之间的区别?int * p和int * p声明之间的区别
11
A
回答
31
有没有区别。
这是一个表示法,而不是语义学。二是少误导,因为
int *a, b;
清楚地声明一个int*
和int
,而
int* a, b;
看起来好像它是声明了两个三分球,当它真正做上述同样的事情。
3
这两个声明在声明单个指针时是等效的。对于这个更多看link
17
这是一个很好的问题。
int* p
- 被C广泛使用++程序员
int* p, q
错误地意味着既p
和q
是指针(导致偏好用于声明此两行上,这也提高了可读性当存在是作业,并且使得更容易快速地剪切/粘贴或评论特定的线/变量)int* p
视觉separ茨从标识符*p
然后明确地指示取消引用类型(假设你把空间周围的二进制operator*
ALA2 * 3
) 在C++
- 显然服用而
...& x
必须声明一个参考变量的地址,并... & ...
是按位与运算
...&x
int *p
- 广泛使用d by C程序员
int *p, q
明确反映p
是指针而q
不是。int *p
视觉混淆与所述标识符的类型- 目视从指针引用不可区分的(更好或更坏)
类似地,对于出现在函数声明类型...
int* f(), g(); // declares int g();
int *h(), (*i)(); // i is pointer to function returning int
int *const*m(), n(); // m returns pointer to (const-pointer to int)
// n returns int
...但至少函数参数不能变得如此毛茸茸 - 类型规范在每个逗号分隔符后重新开始。
综上所述,int *p
是更好,如果您的编码风格/代码库利用上的源代码一行多个声明,否则int* p
提供类型的更清楚的分离和下面的标识符。
对于这一切,人们的偏好很大程度上取决于他们习惯了什么。
0
这两个声明是完全一样的!
相关问题
- 1. int p = *(int *)i和int p = *(int *)&i之间的区别
- 2. int * p =&a ++和int * p =&++ a
- 3. '%p'和'my%p'之间的区别?
- 4. 关于“int const * p”和“const int * p”
- 5. 应该int * p长int * p而不是?
- 6. 函数中* p和(* p)[3]之间的区别是什么?
- 7. int someInts [3]和int * someInts = new int [3]之间的区别?
- 8. p :: first-letter和p :: first-letter之间的区别是什么?
- 9. * p [5]和(* p)[5]之间的区别是什么?
- 10. int(* p)[4]?
- 11. $('。p')和$('p')jquery之间有什么区别?
- 12. uint和unsigned int之间的区别?
- 13. C#中char和int之间的区别#
- 14. Python 3.5 - '//'和'int()'之间的区别
- 15. int,NSInteger和NSUInteger之间的区别
- 16. 函数定义中的指针与数组:void fct1(int * p)和void fct1(int p [])有什么区别?
- 17. Java中的int a [5],int a [],int a [] = {2,3}之间的区别
- 18. 新的int和new(int)之间的C++有什么区别?
- 19. '(int)a','a as int'和C#中的Convert.ToInt32(a)之间的区别
- 20. foo(int * arr)和foo(int arr [])之间的任何区别?
- 21. 最终静态int和静态最终int之间的区别?
- 22. int [] []和int [,]之间的区别是什么?
- 23. 返回值之间的区别int&和const int&
- 24. int fpurge()和int fflush()之间的区别C
- 25. C++中新int()和新int {}之间的区别
- 26. 传递(int x)和(const int x)之间的区别
- 27. “Convert.ToString(Nullable <int>)”和“Nullable <int> .ToString()”之间的区别?
- 28. int(floatvar)和(int)floatvar之间是否有区别?
- 29. 声明变量之间的区别
- 30. x = * p ++和* p ++; x = * p in c有什么区别?
很好的解释 – cc4re 2013-06-22 19:32:59