我有一个像这样的代码:
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';