c语言中的星号“*”

新人啊看不明白前辈的代码不知道这几句的星号应该怎么解释#defineADC_A(*(structADC64_tag*)(0x000000+0x3048)ADC64_tag... 新人啊 看不明白前辈的代码 不知道这几句的星号应该怎么解释
#define ADC_A (*( struct ADC64_tag *) (0x000000 + 0x3048)

ADC64_tag是一个结构体变量
请详细说明两个星号的含义
展开
 我来答
小无谈旅游百科
高粉答主

2020-05-07 · 每个回答都超有意思的
知道小有建树答主
回答量:824
采纳率:98%
帮助的人:19.2万
展开全部

这意味着我要定义一个指针,*未定义时,获取以下地址的内容,输入方法。

1.打开visualc++6.0-File-新建的copy-File-c++源文件,如下图所示:

2.输入预处理命令和主函数,如下图所示:

3.定义可变度量并确定行数,如下图所示:

4.确定空格数,如下图所示:

5.确定每行星号的数量,并将它们包装起来,如下图所示:

6.运行如下,以输出所需的星号:

888愚公888
推荐于2017-09-21 · TA获得超过728个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:235万
展开全部
#define ADC_A (*( struct
ADC64_tag *) (0x000000
0x3048)
楼主,是这样子的,首先将 0x000000 加上0x3048,结果用 ( struct
ADC64_tag *) 强制转化成一个指向struct adc_64结构的指针,如果不强制转化就把这个值当做指针,或者说地址,来访问的话,编译器是会报错的,然后第一个的*号表示访问这个地址!完毕。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徐徐随风倒
2013-02-26 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:120
采纳率:100%
帮助的人:156万
展开全部
楼上回答是正确的,举个例子:
char * test = NULL;
我们给test分配堆空间
test = (char *) malloc(5);
这里的char* 就是把分配的5个大小的空间引用为 char * 类型的

如果我们已经给test指向的空间赋值 比如赋值为“123”

这时我们通过 *test 访问地址空间存储的内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东方瑞俪干洗店加盟
2013-02-26 · TA获得超过565个赞
知道小有建树答主
回答量:312
采纳率:50%
帮助的人:123万
展开全部
是多了一个括号还是少掉一个括号?

就说说我的理解

struct adc64_tag * 这个是结构体指针变量 指向的初始为0x000000 + 0x3048 内存地址

define ADC_A 这个定义的是一个指针变量..指向的是struct ADC64_tag 的指针

这是一个二级指针类型的DEFINE 定义语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊·梵beec
2013-02-26 · TA获得超过2160个赞
知道大有可为答主
回答量:1897
采纳率:0%
帮助的人:1381万
展开全部
*的用法
1.指针 ( struct ADC64_tag *) (0x000000 + 0x3048)强制类型转换
2.取指针的值 int a=3;int *p=&a;printf("%d",*p); printf中的 *p 就是取指针p指向的值
3.乘法运算符 3*4
4.字符'*' "3*4"
5.注释 /* 这里是注释 */
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式