幾年前做家教寫的C教程(之四專講了指標與漢諾塔問題)

來源:互聯網
上載者:User

標籤:style   blog   color   使用   io   資料   問題   ar   

C語言學習寶典(4)

指標:可以有效表示複雜的資料結構,能動態分配動態空間,方便的使用字串,有效使用數組,能直接處理記憶體單元

不掌握指標就沒有掌握C語言的精華

地址:系統為每一個變數分配一個記憶體單元,記憶體區的每一個位元組有一個編號,這就是“地址”

指標的定義; 基底類型 * 指標變數名

例如 int *pointer;

可以使用指派陳述式使一個指標變數得到另一個變數的地址,從而使它指向一個該變數。

 

例1  通過指標變數訪問整形變數

/*******************  功能:通過指標變數訪問整形變數*********************/#include <stdio.h>void main(){         int a,b;         int *pointer1,*pointer2;         a=100;b=10;         pointer1=&a;         pointer2=&b;         printf("%d %d\n",a,b);         printf("%d %d\n",*pointer1,*pointer2);}

 

例2 對於a,b兩個整數,按先大後小的順序輸出

/*******************  功能:利用指標函數比較兩個數的大小,輸出*******************/#include <stdio.h>void main(){         void swap(int *p1,int *p2);         int a,b;         int *pointer1,*pointer2;         scanf("%d%d",&a,&b);         pointer1=&a;         pointer2=&b;         if(a<b)                   swap(pointer1,pointer2);         printf("%d\n%d\n",a,b);}void swap(int *p1,int *p2){         int temp;         temp=*p1;         *p1=*p2;         *p2=temp;}

 

例3 Hanoi(漢諾塔)古代有一個梵塔,塔內有3個座A,B,C.開始A上有64個盤子,盤子大小不等,大的在下,小的在上邊,有一個老和尚想把64個盤子從A移動到C座上,在移動的過程中始終保持大盤在下,小盤在上邊。

/********************  功能:遞迴解決Hanoi塔問題********************/#include <stdio.h>void main(){         void Hanoi(int n,char one,char two,char three);         int m;         printf("Input The Number Of The Diskes:\n");         scanf("%d",&m);         printf("The Step Of Moving %d Diskes:\n",m);         Hanoi(m,‘A‘,‘B‘,‘C‘);}void Hanoi(int n,char one,char two,char three){//將n個盤從第一座移動到第二座再移動到第三座         void move(char x,char y);         if(n==1)                   move(one,three);         else         {                   Hanoi(n-1,one,three,two);                   move(one,three);                   Hanoi(n-1,two,one,three);         }}void move(char x,char y){         printf("%c-->%c\n",x,y);}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.