RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [資訊電機] [求助]C語法看不懂?   字型大小:||| 
bonta
銅驢友〔初級〕
等級: 8等級: 8


今日心情

 . 積分: 124
 . 文章: 156
 . 收花: 1012 支
 . 送花: 735 支
 . 比例: 0.73
 . 在線: 4411 小時
 . 瀏覽: 13975 頁
 . 註冊: 7050
 . 失蹤: 5
 . 陣代高中
#1 : 2007-10-17 06:07 PM     全部回覆 引言回覆

aioTask* this_task = (aioTask*) task;
可分開寫
aioTask* this_task;  //宣告變數
this_task = (aioTask*) task;  // task 應該是指標, 而 (aioTask*) 是強迫轉型, 所以這行是將 task 強迫轉型為 aioTask* 給 this_task;

第二個問題也分開寫
headsetTaskData* ptr;
ptr = (headsetTaskData *)getAppTask(); // getAppTask()應該是一個能傳回指標的函數,將傳回值強迫轉型;
power_state state = ptr->headset_power_state;

應該只是這樣而已

如果是寫 32bit 的程式, 指標應該 4byte, 對 c 而言,指標如 int 般僅是個 4byte 大小的變數, 它可以隨便你運算,或指定
只是不同資料型別的指標在傳遞時, compiler 會去檢查資料型別是否相等, 而強迫轉型只是告知 compiler 不用檢查。

[bonta 在  2007-10-17 06:14 PM 作了最後編輯]



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記

   



 



所在時區為 GMT+8, 現在時間是 2024-5-21 12:47 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.019827 second(s), 7 queries , Qzip disabled