C語言陣列值的快速交換

2021-10-24 10:32:54 字數 2581 閱讀 9669

hpc_zy

通過幾個簡單示例,直觀展示「值、位址、指標、陣列指標」的關係與工作方式。需要自行執行下列**,觀察分析其輸出結果,從而理解其中的原理。

如果只是來看陣列值的快速交換,可直接跳到5

#include

"stdafx.h"

#include

"malloc.h"

void

main()

/*交換兩個變數的值(排序演算法中常用到)*/

void

main1()

/*交換兩個指標變數的值*/

void

main2()

/*交換兩個陣列指標的值*/

void

main3()

// 顯示

printf

("\n\n交換前: a = ");

for(

int k =

0; k < n; k++

)printf

("%d "

, a[k]);

printf

("\n交換前: b = ");

for(

int k =

0; k < n; k++

)printf

("%d "

, b[k]);

// 交換

int*tmp = a;

printf

("\na = %0x\n"

, a)

;printf

("&a = %0x\n"

,&a)

;printf

("\nb = %0x\n"

, b)

;printf

("&b = %0x\n"

,&b)

;printf

("\ntmp = %0x\n"

, tmp)

;printf

("&tmp = %0x\n"

,&tmp);

a = b;

b = tmp;

printf

("\na = %0x\n"

, a)

;printf

("&a = %0x\n"

,&a)

;printf

("\nb = %0x\n"

, b)

;printf

("&b = %0x\n"

,&b)

;// 顯示

printf

("\n\n交換前: a = ");

for(

int k =

0; k < n; k++

)printf

("%d "

, a[k]);

printf

("\n交換前: b = ");

for(

int k =

0; k < n; k++

)printf

("%d "

, b[k]);

printf

("\n\n\ndone");

getchar()

;}

比如,a = [0,1,2,3],b=[4,5,6,7];要交換他們的值,得到 b = [0,1,2,3],a=[4,5,6,7]。

注:其實就是4中的例子

/*交換兩個陣列指標的值*/

void

main3()

// 顯示

printf

("\n\n交換前: a = ");

for(

int k =

0; k < n; k++

)printf

("%d "

, a[k]);

printf

("\n交換前: b = ");

for(

int k =

0; k < n; k++

)printf

("%d "

, b[k]);

// 交換

int*tmp = a;

a = b;

b = tmp;

// 顯示

printf

("\n\n交換前: a = ");

for(

int k =

0; k < n; k++

)printf

("%d "

, a[k]);

printf

("\n交換前: b = ");

for(

int k =

0; k < n; k++

)printf

("%d "

, b[k]);

printf

("\n\n\ndone");

getchar()

;}

也是學了好久用了好久,都沒明白深層的原理,故自己寫了一些實驗例子,總算搞懂了背後的原理。在此分享給大家,希望也能幫到你們。

由於電腦暫時無法執行c**,所以不能貼出執行結果,請大家在自己電腦執行。

D link路由器快速交換的介紹

傳統路由器的基本作用是路由計算程式設計客棧和包 通常基於共享儲存器體系結構,採用集中式cpu控制共享匯流排,連線到多個介面卡上,介面卡包含簡單的佇列等結構,與cpu通訊,通過共享匯流排實現資料報 隨www.cppcns.com著internet的快速發展和大量新的服務需求的不斷出現,對網路的路由和交...

c 語言 最值交換

題目描述 有乙個長度為n的整數序列。請寫乙個程式,先把序列中的最小值與第乙個數交換,再把最大值與最後乙個數交換。輸出轉換好的序列。分別編寫兩個函式minindex 和maxindex 來計算最小值下標和最大值下標。intminindex int a,int n 函式返回陣列a中最小元素的下標 int...

交換兩個陣列的值 C語言版

今天分享乙個簡單程式 交換兩陣列的值 define n 10 define crt secure no warnings include include void readarry int a,int n void printfarry int a,int n void swap int p,int...