C++语言中p与&p的区别
时间: 2023-05-23 08:04:54 浏览: 50
*p的区别是什么?
A:在C语言中,p是指向某一内存地址的指针变量,而 *p是该地址中存储的值。简单来说,p是一个指向变量地址的指针,而 *p则是该地址上存储的变量值。通过更改指针变量p指向的地址,我们可以更改该地址上存储的变量值。
相关问题
在c++语言中*和&的区别
&的作用
*和&是C语言中的两个重要运算符,其作用如下:
1. *(取值运算符):用于获取指针所指向的变量的值。
例如:
```c
int a = 10;
int *p = &a; //p指向a
printf("%d\n", *p); //输出10
```
2. &(取地址运算符):用于获取变量的地址。
例如:
```c
int a = 10;
int *p = &a; //p指向a的地址
printf("%p\n", &a); //输出a的地址
```
需要注意的是,*和&的运算优先级较高,但是它们的结合方向是从右到左的。因此,在使用时需要注意运算符的优先级和结合方向。
C++中引用与指针的区别
在 C 语言中,引用是对另一个变量的别名,指针是指向另一个变量的内存地址的变量。
引用与指针的区别在于:
1. 声明方式不同:引用是在变量名前加一个 & 符号,指针是在变量名前加一个 * 符号。
2. 使用方式不同:对于引用,直接使用变量名即可访问它所引用的变量;对于指针,需要使用 * 运算符来访问指针所指向的变量。
3. 引用一旦声明就不能改变它所引用的变量,指针可以在任意时刻指向另一个变量。
4. 引用必须在声明的同时初始化,而指针可以先声明再初始化。
示例代码:
```
// 声明两个整型变量
int a = 1;
int b = 2;
// 声明一个指向整型的指针
int *p;
// 声明一个整型的引用
int &r = a;
// 赋值:将 p 指向 b
p = &b;
// 访问:通过指针访问 b 的值
printf("b = %d\n", *p);
// 访问:通过引用访问 a 的值
printf("a = %d\n", r);
```