我想下面的函數轉換成目標C:將Java方法目標C
private static byte[] convertByteArray(int p_int) {
byte[] l_byte_array = new byte[4];
int MASK_c = 0xFF;
for (short i = 0; i <= 3; i++) {
l_byte_array[i] = (byte) ((p_int >> (8 * i)) & MASK_c);
}
return l_byte_array;
}
我已經嘗試過:
-(char *)convertByteArray:(int)p_int
{
const char *l_byte_array[4];
int MASK_c = 0xFF;
for (short i = 0; i <= 3; i++) {
l_byte_array[i] = (char *) ((p_int >> (8 * i)) & MASK_c);
}
return l_byte_array;
}
但那不是正確的我猜...
更新:
如果我嘗試沒有const:
-(char *)convertByteArray:(int)p_int
{
char *l_byte_array[4];
int MASK_c = 0xFF;
for (short i = 0; i <= 3; i++) {
l_byte_array[i] = (char *) ((p_int >> (8 * i)) & MASK_c);
}
return l_byte_array;
}
我得到兩次警告我回到聲明:
與局部變量相關的'返回- 地址char *
我建議加上你認爲它不正確的原因,比如錯誤或比較輸出。 – Seidr
更新了我的答案...... – davidOhara