我有是這樣一個代碼:鑄造語法練習
int main(void)
{
char mychar = 'd';
int *ptr = malloc(sizeof(*ptr)) ;
*ptr = (char) 'c' ; // *ptr = (char*) 'c'; Gives the exact same result
printf("%c\n",*ptr);
memset(ptr,mychar,sizeof(*ptr));
printf("%c\n",*ptr);
free(ptr);
printf("%c\n",*ptr);
return 0 ;
}
的代碼提供指針樣式轉換和數據類型投相同的結果。
這兩種風格中哪一種應該使用或被認爲是一種好的做法,爲什麼?
*ptr = (char) 'c' ;
*ptr = (char*) 'c';
試圖打開你的編譯器警告? – Mat
我認爲他們都不是很好,因爲你正在給int分配一個char。 – Heisenbug