(int *)x和int (*x)的区别

如题所述

int (*x)和int *x是一样的,声明一个整形指针x。

(int *)x是强制类型转换,比如x是char型指针:
char *x=‘a’;
(int *)x;
这样做了以后,x就是整形指针了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-03
如果这是声明语句,(int*)x是错的。
如果这是强制类型转换,那么(int*)x是将x转换成int*型。C++里可以用int(*x)要求x是指针,将*x的值转换成int型,C里这种写法是错误的。追问

那么 (*((volatile INT32U *)0xE000E01C))是表示先把0xE000E01C地址里面的数据先转换为32位的数据类型,然后取数据的内容吗?void (*task)(void *p_arg)的*task是申明函数指针吗?

追答

都是对的。

本回答被提问者采纳
第2个回答  2013-09-03
使用环境呢