* (unsigned char *)&ulA 具体是个什么含义是怎么组织到一起的,很看不懂,不解.......
答案:1 悬赏:0
解决时间 2021-02-10 07:16
- 提问者网友:堕落的邪教徒
- 2021-02-09 06:45
* (unsigned char *)&ulA 具体是个什么含义是怎么组织到一起的,很看不懂,不解.......
最佳答案
- 二级知识专家网友:高冷不撩人
- 2021-02-09 07:22
* (unsigned char *)&ulA 运算顺序为* ((unsigned char *)(&ulA))
1>先取 ulA的地址&ulA, &ulA为一个指针,可能为int*, void * ,char *等类型
2>将&ulA强制类型转化为 unsigned char *类型
3>*运算取出unsigned char *指针的值
举个例子如下
struct test_s
{
unsigned char a;
int b;
};
struct test_s s;
s.a='a';
printf("a=%c\n",s.a);
printf("a=%c\n",*(unsigned char *)&s); //两个printf打印的结果都是一样的
这里 &s为 struct test_s * 类型指针
强制类型转化为unsigned char *
再取unsigned char *指针对应的值,结构体struct test_s第一个元素就是unsigned char类型
所以*(unsigned char *)&s 就对应元素s.a
1>先取 ulA的地址&ulA, &ulA为一个指针,可能为int*, void * ,char *等类型
2>将&ulA强制类型转化为 unsigned char *类型
3>*运算取出unsigned char *指针的值
举个例子如下
struct test_s
{
unsigned char a;
int b;
};
struct test_s s;
s.a='a';
printf("a=%c\n",s.a);
printf("a=%c\n",*(unsigned char *)&s); //两个printf打印的结果都是一样的
这里 &s为 struct test_s * 类型指针
强制类型转化为unsigned char *
再取unsigned char *指针对应的值,结构体struct test_s第一个元素就是unsigned char类型
所以*(unsigned char *)&s 就对应元素s.a
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯