我用C代碼中發現的this page:使用指針數組 - Visual C
uint16_t* terminal_buffer;
是什麼意思?是否與uint16_t *terminal_buffer;
相同? 比可變terminal_buffer是accesed像數組:
terminal_buffer[index] = make_vgaentry(' ', terminal_color);
有人可以解釋我是如何工作的? 謝謝。
我用C代碼中發現的this page:使用指針數組 - Visual C
uint16_t* terminal_buffer;
是什麼意思?是否與uint16_t *terminal_buffer;
相同? 比可變terminal_buffer是accesed像數組:
terminal_buffer[index] = make_vgaentry(' ', terminal_color);
有人可以解釋我是如何工作的? 謝謝。
這是什麼意思?是否與
uint16_t *terminal_buffer;
相同?
是的,在*
的位置是不相關的,如果它的類型名和變量名之間在所以你可以寫uint16_t * terminal_buffer;
,如果你想要的,因爲空間被忽略。
比可變terminal_buffer被accesed像的數組:
terminal_buffer[index] = make_vgaentry(' ', terminal_color);
因爲這相當於
*(terminal_buffer + index) = make_vgaentry(' ', terminal_color);
所以它基本上是一個指針運算操作和解除引用。
我認爲那裏應該有括號。 – 2015-02-07 07:15:56
@remyabel在哪裏? – 2015-02-07 07:16:15
*((E1)+(E2)),IIRC。 – 2015-02-07 07:16:33
我建議你在嘗試內核開發之前學習該語言的基礎知識。 – 2015-02-07 07:13:23
感謝您的有用答案... @remyabel – pruky 2015-02-07 07:14:36
@pruky,當您詢問uint16_t * terminal_buffer;是否與uint16_t * terminal_buffer相同時,您清楚地顯示出您對該語言的基本知識缺乏瞭解。如果沒有對語言的基礎知識有一個很好的理解,很可能你所得到的任何答案都很難理解。 – 2015-02-07 07:18:02