我想將unsigned char *變量轉換爲unsigned int *。這樣如何將c中的unsigned char *轉換爲unsigned int *?
unsigned char *test = 0;
unsigned int *x = test;
我想將unsigned char *變量轉換爲unsigned int *。這樣如何將c中的unsigned char *轉換爲unsigned int *?
unsigned char *test = 0;
unsigned int *x = test;
的東西用一個演員,這在C也會
unsigned int *x = (unsigned int*)test;
但要記住,這將是你的榜樣無用(和任何其他的例子,我能想到的),因爲提領指針會給你1,3或7字節的未定義內存。
如果您想要將char
升級到unsigned int
,那麼您必須首先將其存儲爲unsigned int
,或將其複製到堆棧中。
感謝您的回答。它工作 – Nate
那麼請「接受」它然後請:這是你如何在這裏感謝。但是因爲'test'的值是'NULL',所以這似乎毫無意義。 –
C和C++是不同的語言。選一個!什麼是實際問題?簡單的轉換或指針類型轉換可能會產生問題。 – Olaf
*我想將unsigned char *變量轉換爲unsigned int ** - 一個字的問題。爲什麼? – PaulMcKenzie
你可以通過簡單的轉換將'unsigned char *'轉換爲'int *' - unsigned int * x =(unsigned int *)test;'。但這很可能不是你想要達到的目標。你將在'x'指針解引用時收到垃圾。所以,問題是你究竟在做什麼。 –