int *p和int(*p)的区别
时间: 2023-08-09 19:05:59 浏览: 66
`int *p` 和 `int (*p)` 的区别在于它们的优先级不同。
`int *p` 定义了一个指向 `int` 类型变量的指针 `p`。这里的 `*` 是一个解引用操作符,表示 `p` 指向的是一个 `int` 类型的变量。
而 `int (*p)` 定义了一个指向 `int` 类型变量的指针 `p`。这里的 `(*p)` 是一个指针运算符,表示 `p` 是一个指针,指向的是一个 `int` 类型的变量。
例如,下面的代码中,`p` 是一个指向 `int` 类型变量的指针:
```c++
int a = 10;
int *p = &a;
```
而下面的代码中,`p` 是一个指向函数的指针:
```c++
int add(int a, int b) {
return a + b;
}
int (*p)(int, int) = add;
```
相关问题
int* p 和 int *p的区别
int* p 和 int *p 实际上没有区别,它们都表示指向 int 类型的指针变量。指针变量是用来存储内存地址的变量,而 int* p 和 int *p 都表示 p 是一个指向 int 类型的指针变量。这种写法的差异只是个人的编码风格问题,因为 * 运算符紧靠着变量名的话可能会让人误解为是一个指针变量,所以有些人喜欢将 * 与变量名之间加上空格,以提高代码的可读性。所以在 int* p 和 int *p 中,* 表示 p 是一个指针变量,而 int 表示指针指向的数据类型。
int *p和int* p的区别
int *p和int* p的区别在于它们的声明方式不同,但是它们的含义相同。
int *p是一种常见的指针声明方式,表示p是一个指向int类型变量的指针。这种声明方式中,星号(*)与变量名p紧挨着,表示这个指针变量p的类型是int*。
int* p也是一种指针声明方式,表示p是一个指向int类型变量的指针。这种声明方式中,星号(*)与类型int紧挨着,表示这个指针变量p的类型是int*。
因为指针变量的类型是指向某种数据类型的指针,所以这两种声明方式的含义是相同的,只是语法不同。