| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:問一點關於結構和指針的問題
只看楼主 加入收藏
xiestone1992
Rank: 1
等 级:新手上路
帖 子:19
专家分:3
注 册:2012-2-8
结帖率:33.33%
收藏
已结贴  问题点数:19 回复次数:10 
問一點關於結構和指針的問題
1. 如下:
     typedef struct
     {
      int x [ MAX + 1 ];
      int y;
     } *helper;

這裡的 *helper是一個指針吧?是指向這個結構體的指針?那這個結構體的類型是什麽?


2.如下
        typedef  a   b ,c;
   
        struct a {
            int h,i;
         };

       typedef  struct x  y;
   
       struct  x {
          c  f;
          y  *m;
        }


這裡c 是 結構體 a 的重命名,在第二個結構體中,又聲明了一個變量 f ,那 f 是不是就是 a 類型的結構體啊?換言之,就是 f 有兩個 int 類型的成員 h  i 是嗎?




3.有如下多項式加法的代碼
//type declaration for array implementation of the polynomial

     typedef struct
     {
       int CoeffArray[ MaxDegree + 1 ];
       int HighPower;                  
      } *Polynomial;


//Initialization

      ZeroPolynomial( Polynomial Poly )
     {
       int i;
       for( i = 0; i <= MaxDegree; i++ )
       Poly->CoeffArray[ i ] = 0;

       Poly->HighPower = 0;
      }

//Polynomial addition
     void AddPolynomial( const Polynomial Poly1, const Polynomial Poly2, Polynomial PolySum )
     {
        int i;
//Initialization
        ZeroPolynomial( PolySum );

//Decide the highest power of the result polynomial
        PolySum->HighPower = Max( Poly1->HighPower, Poly2->HighPower );

//add the corresponding terms of Poly1 and Poly2
        for( i = PolySum->HighPower; i >= 0; i-- )
           PolySum->CoeffArray[ i ] = Poly1->CoeffArray[ i ]+ Poly2->CoeffArray[ i ];
}


我稍微說明一下,用數組實現多項式加法的時候,用了下標表示次冪的方法,也就是說數組的第一個元素,下標是0,那麼對應的就是多項式中次冪為0的那一項。


大多數代碼都已經給出了,那麼,如果要用數組實現多項式的減法,是不是只需要在最後一句

PolySum->CoeffArray[ i ] = Poly1->CoeffArray[ i ]+ Poly2->CoeffArray[ i ];

中,把 Poly1->CoeffArray[ i ]+ Poly2->CoeffArray[ i ]; 的 + 改為 - 就可以了吧?
搜索更多相关主题的帖子: 命名 
2012-10-06 18:56
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:4 
     typedef struct
     {
      int x [ MAX + 1 ];
      int y;
     } *helper;

定义了一个指向结构体的指针,但是没有实体变量。如果要定义变量需要helper p1,这样就定义了实体。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-10-06 19:04
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:4 
這裡的 *helper是一個指針吧?   这个叫内型,相当于int之类的,只不过那个内型是你自己定义的
2012-10-06 23:45
xiestone1992
Rank: 1
等 级:新手上路
帖 子:19
专家分:3
注 册:2012-2-8
收藏
得分:0 
都只幫我解決了第一個問題,謝謝大家,那還有第二個,第三個呢?
2012-10-07 20:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
第一个问题解决了?

授人以渔,不授人以鱼。
2012-10-08 17:40
雪狼MJ
Rank: 8Rank: 8
来 自:甘肃
等 级:蝙蝠侠
威 望:4
帖 子:267
专家分:853
注 册:2012-5-27
收藏
得分:4 
额。。。都是繁体字,看起来好费劲哦。。。。。

Edsger Dijkstra:算法+数据结构=程序
2012-10-08 19:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
第二个问题编译就不通过,不知道需要解释什么。

授人以渔,不授人以鱼。
2012-10-08 20:20
天机阁主
Rank: 2
等 级:论坛游民
帖 子:4
专家分:11
注 册:2012-10-8
收藏
得分:0 
好吧 你的第二个问题 typedef a b,c; 应该是typedef struct a b,c 不然不知道你的a是什么类型
2012-10-08 20:50
天机阁主
Rank: 2
等 级:论坛游民
帖 子:4
专家分:11
注 册:2012-10-8
收藏
得分:4 
第二个问题后面的应该就是你所说的没错
2012-10-08 20:51
天机阁主
Rank: 2
等 级:论坛游民
帖 子:4
专家分:11
注 册:2012-10-8
收藏
得分:0 
第三个应该没错
2012-10-08 20:54
快速回复:問一點關於結構和指針的問題
数据加载中...
 
   



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

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