我的網誌清單

2014年8月5日 星期二

C 語言傳陣列到函式之今天遇到的問題


今天寫了一個

void Test(void* pdata, int32_t size){
   int32_t i = 0;

    for(i = 0 ; i <size ; i++){

      *(uint32_t*)(pdata+i) = 1000*i;

   }
 
}


然後 使用

uint32_t array[5];

Test(&array[0],5);

結果有問題 , 後來我花了大約二十分找到問題

      *(uint32_t*)(pdata+i) = 1000*i;

結果我疏忽這裡在算位置時 不能加 i

要寫成       *(uint32_t*)(pdata+sizeof(uint32_t)*i) = 1000*i;

沒有留言:

張貼留言