您如何(如果可能)通過整數大小定義類型?例如,如果我想製作一個長度爲3個字節的類型,我該如何完成這樣的事情? (我知道這是不正確的)基於整數大小的鑄造指針類型(C99)
typedef int24_t 3;
我想寫一個廣義函數,它接受一個字符串參數包含多個號碼,並存儲號碼的指針,作爲另一個參數傳遞。
但是我想讓它可以傳遞一個數字參數,它決定了存儲數字的變量類型有多大:即如果它是1,那麼類型可以是char,如果它是4,則類型可以是int等等
我知道,它可能只存儲在一個臨時固定大小的變量的數量,然後只根據請求的大小複製相關的字節到指針,但我希望代碼是便攜式的我不想因爲Endianness而陷入混亂,因爲我在過去遇到了麻煩。
感謝
如果你希望* data *是可移植的,那麼你必須處理endianess,這是無法解決的。如果* data *只保留在一個平臺上(不管它是哪個平臺),那麼您不必擔心這一點。 –
很可能沒有24位整數類型。由於'typedef'只爲現有類型創建一個別名,而不是新類型,所以沒有辦法解決 - 如果你真的需要它是一個整型。 –