int *p 与*p的区别
时间: 2024-08-26 20:00:37 浏览: 46
`int *p` 和 `*p` 是 C/C++ 中的指针语法,它们有显著的不同:
1. `int *p`:这是一个声明,它定义了一个名为 `p` 的变量,这个变量是一个指向整数的指针。这里的星号(*)表示指针,所以 `int *` 表示 `p` 将存储一个整数的地址。
2. `*p`:这是解引用操作,当你在表达式中使用 `*p` 时,实际上是访问 `p` 所指向的那个整数值。星号再次出现在这里,意味着取 `p` 指向的内存位置上的值。
简而言之,`int *p` 定义了指针,而 `*p` 是通过该指针获取实际的值。举个例子,如果 `p = &x;`(`&x` 是 x 变量的地址),那么 `*p` 就等于 `x` 的值。
相关问题
int* p与 int *p
int* p与int *p是等价的,都表示定义一个指向int类型的指针变量p。星号可以靠近int或者靠近p,没有区别。这是因为星号是用来修饰p的,而不是修饰int。所以int* p和int *p都是有效的写法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [int* p;和int *p;应怎样理解(c++语言中星号的位置)?](https://blog.csdn.net/qiuyeyijian/article/details/88080549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [C语言中指针 int *p=0;和int *p;*p=0;和”&“的关系和区别详解](https://download.csdn.net/download/weixin_38537941/14851842)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
int* p 和 int *p的区别
int* p 和 int *p 实际上没有区别,它们都表示指向 int 类型的指针变量。指针变量是用来存储内存地址的变量,而 int* p 和 int *p 都表示 p 是一个指向 int 类型的指针变量。这种写法的差异只是个人的编码风格问题,因为 * 运算符紧靠着变量名的话可能会让人误解为是一个指针变量,所以有些人喜欢将 * 与变量名之间加上空格,以提高代码的可读性。所以在 int* p 和 int *p 中,* 表示 p 是一个指针变量,而 int 表示指针指向的数据类型。