c=*p1*(*p2)是什么意思
时间: 2024-04-23 14:19:10 浏览: 335
c=*p1*(*p2)是一种C语言的表达式,它的含义是将指针p2所指向的对象作为参数传递给函数p1,并将函数p1的返回值赋值给变量c。
具体解释如下:
- p2是一个指针,它指向某个对象。
- *p2表示通过指针p2获取它所指向的对象的值。
- p1是一个函数,它接受一个参数,并返回一个值。
- *p1(*p2)表示将*p2作为参数传递给函数p1,并获取函数p1的返回值。
- 最后,将函数p1的返回值赋值给变量c。
这种表达式常见于函数调用和赋值操作中,可以实现对指针所指向对象的操作和获取返回值的功能。
相关问题
c=*p1;*p1++=*p2--;*p2=c;
这段代码的功能是将指针p1所指向的值赋给变量c,然后将指针p2所指向的值赋给指针p1所指向的位置,并将指针p2向前移动一位,最后将变量c的值赋给指针p2所指向的位置[^1]。
下面是一个示例演示:
```c
#include <stdio.h>
void swap(int *p1, int *p2) {
int c = *p1;
*p1++ = *p2--;
*p2 = c;
}
int main() {
int a = 10;
int b = 20;
int *p1 = &a;
int *p2 = &b;
printf("Before swap: a=%d, b=%d\n", a, b);
swap(p1, p2);
printf("After swap: a=%d, b=%d\n", a, b);
return 0;
}
```
输出结果:
```
Before swap: a=10, b=20
After swap: a=20, b=10
```
c语言*p=*p1*(*p2)是什么意思
根据提供的引用内容,`*p` 表示指针 `p` 所指向的内存地址中存储的值,`*p1` 和 `*p2` 分别表示指针 `p1` 和 `p2` 所指向的内存地址中存储的值。因此,`*p = *p1 * (*p2)` 的意思是将指针 `p` 所指向的内存地址中存储的值设置为指针 `p1` 所指向的内存地址中存储的值与指针 `p2` 所指向的内存地址中存储的值的乘积。
下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int a = 2;
int b = 3;
int c;
int *p = &c;
*p = a * b;
printf("%d\n", *p); // 输出:6
return 0;
}
```
阅读全文