[C] RAM Address [C] 指標與陣列的關係
3月 08

[C] Pointer

C 語言.瀏覽:[ 428user+289機器人 ]給個回應

指標的運用,三例題

C:
  1. /* 指標的運用 */
  2.  
  3. #include<stdio.h>
  4.  
  5. main()
  6. {
  7.   int a = 5;
  8.   int *pA;
  9.   pA = &a; //pA "值" 為變數 a 的記憶體位置
  10.            //此行是初始 pA 值,不指定的話
  11.            //*pA就會不知道指到哪裡去了。
  12.            
  13.   printf("a變數值為%d\n",a);
  14.   printf("a變數位址為%p\n",&a);
  15.   printf("pA變數值%x\n",pA);
  16.   printf("pA變數位址為%p\n",pA);
  17.   printf("pA變數指標值為%d\n\n",*pA);
  18.   *pA = 10;
  19.   printf("-- 宣告 *pA = 10; --\n",a);
  20.   printf("a變數值為%d\n",a);
  21.  
  22.   /*---整理一下---------------------------------------
  23.   a 變數a
  24.   &a 變數a的記憶體位置
  25.  
  26.   pA = &a; pA的值儲存了&a的記憶體位置(16進位)
  27.   *pA 指向變數a,其值也成了5
  28.   *pA = 10; 變數a值也會變成10
  29.   -----------------------------------------------------*/
  30.  
  31.   getch();
  32. }

C:
  1. #include<stdio.h>
  2.  
  3. void swap(int *,int *);
  4.  
  5. main()
  6. {
  7.   int n1 = 10;
  8.   int n2 = 20;
  9.   printf("交換前 n1=%d, n2=%d\n",n1,n2);
  10.   swap(&n1,&n2); //初始 pointer
  11.   printf("交換後 n1=%d, n2=%d\n",n1,n2);
  12.   getch();
  13. }
  14.  
  15. void swap(int *x,int *y)
  16. {
  17.   int tmp;
  18.   tmp = *x;
  19.   *x = *y;
  20.   *y = tmp;
  21. }
  22.  
  23. /*-----------------------------------
  24. 函數是所謂的"傳值"來傳遞參數,如果沒
  25. 有使用指標,那只是把數值傳遞到函數裡
  26. 作交換,實際上 n1 與 n2 記憶體裡面的
  27. 值並沒有做變動。
  28. ------------------------------------*/

C:
  1. #include<stdio.h>
  2.  
  3. void add(int *x,int *y);
  4.  
  5. main()
  6. {
  7.   int n1,n2;
  8.   printf("請輸入兩個科目的分數:");
  9.   scanf("%d %d",&n1,&n2);
  10.   add(&n1,&n2);
  11.   printf("科目1 變成%d\n",n1);
  12.   printf("科目2 變成%d\n",n2);
  13.  
  14.   getch()
  15. }
  16.  
  17. void add(int *x,int *y)
  18. {
  19.   int addf;
  20.   printf("請輸入加分的數字:");
  21.   scanf("%d",&addf);
  22.   *x = *x + addf;
  23.   *y = *y + addf;
  24. }

標籤:

    

本篇文章引用網址:

其他隨機文章:
  • [閒聊] 虛擬主機的選購(一)
  • [教學] SiteMeter計數器,圖文申請教學
  • [教學] Photoshop VISTA風格按鈕
  • [教學] WordPress TAG 功能
  • 道瓊單日跌幅777



  • 寫下回應