可以说说*什么时候要加上吗
时间: 2023-09-08 11:10:51 浏览: 104
在 C 语言中,`*` 符号有两种用法:
1. 声明指针类型:在类型名前面加上 `*` 符号表示该类型是一个指针类型,例如 `int *p` 表示 `p` 是一个指向 `int` 类型的指针变量。在这种情况下,`*` 符号不是运算符,而是类型说明符。
2. 取指针所指变量的值:在指针变量前面加上 `*` 符号表示取该指针所指变量的值,例如 `*p` 表示取指针 `p` 所指向的变量的值。在这种情况下,`*` 符号是一个一元运算符,其作用是获取指针所指向的变量的值。
需要注意的是,`*` 符号有时候会产生歧义,例如在函数参数中声明指针类型时,需要加上 `*` 符号表示该参数是一个指针类型,而在函数内部访问该指针所指向的变量时,也需要加上 `*` 符号表示取指针所指向的变量的值。例如:
```c
void func(int *p) {
// 取指针所指向的变量的值
int x = *p;
// 对指针所指向的变量进行赋值
*p = 10;
}
int main() {
int a = 5;
int *p = &a;
// 调用函数传入指针参数
func(p);
// 输出 a 的值,已经被修改为 10
printf("%d\n", a);
return 0;
}
```
在这个例子中,`func` 函数的参数是一个指向 `int` 类型的指针变量 `p`,在函数内部访问该指针所指向的变量时需要加上 `*` 符号。而在 `main` 函数中,定义了一个 `int` 类型的变量 `a`,并定义了一个指向 `a` 的指针变量 `p`,在调用 `func` 函数时需要将 `p` 作为参数传入,而在函数外部访问该指针所指向的变量时同样需要加上 `*` 符号。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)
![](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)