私は次のようなコードを持っています:
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 ;
}
このコードは、ポインタースタイルのキャストとデータ型のキャストで同じ結果をもたらします。
2つのスタイルのうち、どちらを使用する必要があるか、または良い習慣と見なされるのか、またその理由は何ですか。
*ptr = (char) 'c' ;
*ptr = (char*) 'c';