| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 255 人关注过本帖
标题:C语言结构体的问题
只看楼主 加入收藏
风雨彩虹88
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-1-23
收藏
 问题点数:0 回复次数:1 
C语言结构体的问题
程序代码:
#define uchar unsigned char

uchar p0_data[]={0,1};
uchar p1_data[]={0,1};
uchar p2_data[]={0,1};
uchar p3_data[]={0,1}; 

struct led_data            
{
    uchar P0_DATA;
    uchar* P1_DATA;
    uchar* P2_DATA;
    uchar* P3_DATA;
}stled={&p0_data[0],&p1_data[0],&p2_data[0],&p3_data[0]};  
这样一个结构体定义和初始化编译器是不报错的。
我要是想先定义,再初始化:
程序代码:
#define uchar unsigned char

uchar p0_data[]={0,1};
uchar p1_data[]={0,1};
uchar p2_data[]={0,1};
uchar p3_data[]={0,1}; 

struct led_data            
{
    uchar P0_DATA;
    uchar* P1_DATA;
    uchar* P2_DATA;
    uchar* P3_DATA;
}stled;
//stled={&p0_data[0],&p1_data[0],&p2_data[0],&p3_data[0]}; 
   
stled.P0_DATA = &p0_data[0];
stled.P1_DATA = &p1_data[0];
stled.P2_DATA = &p2_data[0];
stled.P3_DATA = &p3_data[0];
这样的话,编译器会报错:1.C(17): error C129: missing ';' before '.'
这是为什么呢???

[ 本帖最后由 风雨彩虹88 于 2014-1-23 20:53 编辑 ]
搜索更多相关主题的帖子: 结构体 C语言 
2014-01-23 20:51
风雨彩虹88
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-1-23
收藏
得分:0 
是不是因为程序中的 stled.P0_DATA 不代表地址呀?
2014-01-23 20:54
快速回复:C语言结构体的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015442 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved