在c++语言中*和&的区别
时间: 2023-09-26 11:11:43 浏览: 63
&的作用
*和&是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. *(指针符号)
在函数传参中,* 表示指针符号,用于表示一个指针变量。指针变量是一种特殊的变量,它存储了另一个变量的内存地址。当我们在函数中使用指针变量作为参数,实际上是将该变量的内存地址传递给了函数,函数可以通过该地址来访问和修改这个变量的值。
例如,下面的函数定义中,参数 a 为指针类型:
```
void func(int *a) {
*a = *a + 1;
}
```
在函数体中,我们可以通过 *a 来访问和修改传入的变量的值。使用方法如下:
```
int x = 10;
func(&x); // 将 x 的地址传递给函数
printf("%d\n", x); // 输出 11
```
2. &(取地址符号)
在函数传参中,& 表示取地址符号,用于获取一个变量的内存地址。当我们在函数中使用 & 取一个变量的地址作为参数,实际上是将该变量的内存地址传递给了函数。
例如,下面的函数定义中,参数 a 为普通的整型变量:
```
void func(int a) {
a = a + 1;
}
```
函数体中的 a 是一个局部变量,对它的修改不会影响到函数外部的变量。使用方法如下:
```
int x = 10;
func(x); // 将 x 的值传递给函数
printf("%d\n", x); // 输出 10
```
总结:
* 在函数传参中,* 表示指针符号,用于表示一个指针变量,& 表示取地址符号,用于获取一个变量的内存地址。
* 使用指针变量可以在函数内部访问和修改函数外部的变量,使用取地址符号可以将变量的地址作为参数传递给函数。
C++语言中p与&p的区别
*p的区别是什么?
A:在C语言中,p是指向某一内存地址的指针变量,而 *p是该地址中存储的值。简单来说,p是一个指向变量地址的指针,而 *p则是该地址上存储的变量值。通过更改指针变量p指向的地址,我们可以更改该地址上存储的变量值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)