如果要編寫一個程序,並且我需要一個小於255的數字,那麼可以使用unsigned char
作爲數字來使用,比如如果我需要一個數字來創建一個循環?是否有任何理由,包括堅持傳統和慣例,堅持用int和float等來聲明數字。只需要少量數字就可以使用類型無符號字符嗎?
例如,應該像這樣的代碼永遠不會被使用?或者在這種情況下使用無符號字符是一種好習慣,因爲它分配的內存少於短整型?
#include <stdio.h>
typedef unsigned char short_loop;
int main(int argc, char *argv[])
{
short_loop i;
for(i = 0; i < 138; i++)
printf("StackOverflow Example Code\n");
return 0;
}
我要求將來參考,並只使用上面的代碼來幫助說明。
這實際上只是一個很好的做法,例如它是一個大數目的小數字。使用一個字符而不是一個int會使總內存幾乎爲零 – Natecat
char是一個整數類型,爲什麼存儲一個數字沒有用?查看[this](/ questions/5069489/performance-of-built-types-char-vs-short-vs-int-vs-float-vs-double)來了解內置類型之間性能差異的討論。使用8位int實際上可能比使用更大的int要慢 – Tibrogargan
是否有任何理由** not **堅持'int'?你的代碼工作正常,但你認爲你會從使用'unsigned char'而不是'int'獲得什麼?在大多數情況下,完全沒有關係,因爲現代編譯器只會爲您的特定系統做任何「最好」的事情。 – 4386427