找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6211|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

請問C語言程序中的*x=*y是什么意思?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:891154 發(fā)表于 2021-7-15 19:54 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
10黑幣
#include<stdio.h>
#include<stdlib.h>

void Swap(int* x, int* y) {
        int tmp = *x;
        *x = *y;
        *y = tmp;
}
int main() {
        int num1 = 0;
        int num2 = 0;
        printf("請輸入num1 num2的值:");
        scanf("%d %d", &num1, &num2);
        Swap(&num1, &num2);
        printf("num1=%d\nnum2=%d\n", num1, num2);
        system("pause");
        return 0;
}


最佳答案

查看完整內(nèi)容

int* x //聲明一個整型指針x int* y //聲明一個整型指針y *x = *y //把*y的值賦給*x Swap() //交換函數(shù) int main(void) { int a ,b; a = 2; b = 3; Swap(a,b); //交換完成后 a=3,b=2; }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:549934 發(fā)表于 2021-7-15 19:54 | 只看該作者
int* x //聲明一個整型指針x     
int* y //聲明一個整型指針y
*x = *y //把*y的值賦給*x
Swap() //交換函數(shù)

int main(void)
{
  int a ,b;
a = 2;
b = 3;
Swap(a,b);
//交換完成后 a=3,b=2;
}
回復(fù)

使用道具 舉報(bào)

板凳
ID:891154 發(fā)表于 2021-7-15 21:27 | 只看該作者
y16234 發(fā)表于 2021-7-15 21:17
int* x //聲明一個整型指針x     
int* y //聲明一個整型指針y
*x = *y //把*y的值賦給*x

還是不懂*x=*y的意思,兩個指針變量可以這樣寫嗎,x=*y可以理解
回復(fù)

使用道具 舉報(bào)

地板
ID:883242 發(fā)表于 2021-7-15 21:31 | 只看該作者
  1. #define swap(a,b) do{a^=b;b^=a;a^=b;}while(0)
  2.         int x=8,y=10;
  3.         swap(x,y);
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

5#
ID:495628 發(fā)表于 2021-7-16 08:52 | 只看該作者
3042974988 發(fā)表于 2021-7-15 21:27
還是不懂*x=*y的意思,兩個指針變量可以這樣寫嗎,x=*y可以理解

*y的值是int b這個數(shù)存放的內(nèi)存地址,本質(zhì)上是一個unsigned int;
*x=*y的含義是,將int b的內(nèi)存地址賦給*x,
那么*x的值就變成了int b的內(nèi)存地址。

指針的賦值方式:
1、用變量的地址給指針賦值(求地址運(yùn)算符&)
int a,*p;
p=&a;

2、指針給指針賦值
int a,*p1,*p2,*p3;
p1=&a;
p2=p1;
*p3=*p2;
回復(fù)

使用道具 舉報(bào)

6#
ID:277550 發(fā)表于 2021-7-16 10:03 | 只看該作者
int *x; //定義x,是一個指向一個整數(shù)值的指針(內(nèi)存地址)。

*x=*y
其實(shí)進(jìn)一步,可以理解成:是將y指針?biāo)傅闹,賦給x指針?biāo)傅闹怠?br />
&操作符   是取指針的地址。
回復(fù)

使用道具 舉報(bào)

7#
ID:934353 發(fā)表于 2021-7-16 10:15 | 只看該作者
3042974988 發(fā)表于 2021-7-15 21:27
還是不懂*x=*y的意思,兩個指針變量可以這樣寫嗎,x=*y可以理解

x在這里代表一個地址,*x指的是x地址所指向的變量,是不一樣的含義
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表