全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3839
推到 Plurk!
推到 Facebook!

指向常數的指標和常數指標??

答題得分者是:richtop
powmien
初階會員


發表:27
回覆:80
積分:41
註冊:2004-10-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-30 11:24:11 IP:61.59.xxx.xxx 未訂閱
想請問一下 char * const a; 跟 const char * a; 有什麼不一樣呢?
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-30 13:23:29 IP:140.129.xxx.xxx 未訂閱
powmien 您好:    說明如下,請參考!
#include 
#include     int main(int argc, char *argv[])
{
  char ch1 = 'A';
  char ch2 = 'B';
  
  char*  const pc = &ch1; // pc是個char型態的常數指標,所以一但設定指向的位址後,就不能再改變 pc 的值,
                          // 或者說會永遠指向初始設定位址,即將 pc 視為常數。
                          // 但此時仍可以透過 *pc = newChar; 的方式,修改它所指到位址中的內容字元。 
  const  char* cp = &ch2; // cp是個char型態的指標,但是不能透過 *cp=...; 的方式改變其指向位址內的值。
                          // 或者說是將它所指到位址中的內容字元當成常數。
                          // 但此時 cp 仍可以指向其他字元所在的位址。 
  
  printf("pc=>%c\ncp=>%c\n", *pc, *cp);
  
  *pc =  ch2;
  // pc = &ch2; // error: assignment of read-only variable
  
  //*cp =  ch1; // error: assignment of read-only location
   cp = &ch1;
  printf("pc=>%c\ncp=>%c\n", *pc, *cp);
  
  system("PAUSE");        
  return 0;
}    
RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
雲中鵝
一般會員


發表:14
回覆:24
積分:7
註冊:2004-12-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-06 00:47:51 IP:140.125.xxx.xxx 未訂閱
請問大大..... 若是宣告成. void checkDay(int) const; 是表示什麼意思? 謝謝回答 Try it!
------
Try it!
Fm
初階會員


發表:19
回覆:66
積分:37
註冊:2003-10-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-06 01:24:27 IP:61.62.xxx.xxx 未訂閱
1.遵守版規
 >
     < class="code">//新手上路,請多包涵。
/*青青子矜,悠悠我心。但為君故,沈吟至今。*/
系統時間:2024-05-19 15:12:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!