码迷,mamicode.com
首页 > 其他好文 > 详细

一个关于结构未解决的困惑

时间:2014-11-19 00:06:16      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   os   使用   sp   div   

一、问题描述:结构别名问题,一个是BiTree, 一个是*bi。
                        第一个别名在主函数体外可以用,内部不能用;第二个都可以用。
                        如果不写第二个别名,第一个在主函数体内外都可以用。
 
二、问题代码
 1 #include<stdio.h>
 2 
 3 typedef struct BiTree{
 4      char data;
 5      struct BiTree *lchild;
 6      struct BiTree *rchild;
 7     }BiTree,*bi;
 8 
 9 typedef struct AssistNode{
10      BiTree *e; // 这里这样是没有问题的
11      int isFirst;
12 }AssistNode,*assist;
13 
14 void main(){
15      //这样是没问题的
16      assist a1;
17      a1= (assist*)malloc(sizeof(assist));
18  
19      /*这里就不行了,只能使用第二种写法,写作AssistNode和BiTree都报用作表达式非法
20      AssistNode *a2;
21      a2= (AssistNode*)malloc(sizeof(AssistNode));*/
22 
23      a1->isFirst= 0;
24      printf("%d", a1->isFirst);
25      getchar();
26 }

 

三、可能原因

      别名或许有作用域?

一个关于结构未解决的困惑

标签:style   blog   io   ar   color   os   使用   sp   div   

原文地址:http://www.cnblogs.com/KevinHelloWorld/p/4106738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!