UNIQLOCK

2010年9月7日 星期二

指標

什麼是指標?

    int *ptr;

上面的"ptr"他是一個指標型態變數,代表一個位址(address),"*ptr"代表此位址內的資料,他的資料型態是int.

做個比喻:

      有一列按照順序排列編號的櫃子從0~10由管理員管理.假設你想知道哪個 櫃子是空的,你問管理員,他便給了你一個號碼,你就按照號碼去找櫃子,或者你想直接拿你自己的東西便告訴管理員要從哪個櫃子拿給你.


上面的"管理員=ptr",他給的號碼就是"已經有地址的ptr",而拿直接拿給你的東西就是"*ptr".

這樣大概就很清楚了.說到這還要介紹"&".


     int num = 10 ;
     int *ptr ;
     ptr = &num ;
     
上面的"&"就是"把ptr的位址變成num的位址",所以*ptr的資料就是10.

還有很多指標的運用有空再補充.

沒有留言:

張貼留言