C语言**p和*p的区别
时间: 2024-03-18 12:37:04 浏览: 582
在C语言中,`p`和`*p`是两不同的概念。
1. `p`是一个指针变量,它存储了一个内存地址。指针变量可以指向任何数据类型的内存地址。通过使用指针变量,我们可以访问或修改该内存地址上存储的值。
2. `*p`是通过指针间接引用所指向的内存地址上存储的值。它是一个解引用操作符,用于获取指针所指向的内存地址上存储的值。
简而言之,`p`是指针变量本身,而`*p`是通过指针变量间接引用所指向的内存地址上存储的值。
相关问题
在C语言中,*p和&*p是一个意思吗
在C语言中,*p和&*p不是一个意思。
- *p是指针p所指向的变量的值
- &*p是指针p所指向的变量的地址
举个例子:
```c
int x = 10;
int *p = &x; // p指向x的地址
printf("%d\n", *p); // 输出x的值,即10
printf("%p\n", &*p); // 输出p所指向的地址,即x的地址
```
因此,*p和&*p虽然都涉及到指针p所指向的变量,但它们的意义是不同的。
c语言中,定义 double a,*p=&a; *号是什么符
在C语言中,*号有两种用法,一种是乘法运算符,另一种是指针运算符。
在你的例子中,*号是指针运算符,用于定义一个指向double类型变量a的指针p,并将p初始化为a的地址。这意味着,通过p访问变量a的值,可以使用*p的方式,即*p表示指向p所指向的变量的值,也就是a的值。
在C语言中,指针是一个非常重要的概念,它可以用于访问内存中的数据,也可以用于动态分配内存等操作。指针运算符*用于声明和操作指针变量,是C语言中非常常用的运算符。
阅读全文