如何从实现文件中访问头文件中定义的结构?

时间:2011-04-07 07:31:36

标签: c struct header-files

如何在struct common文件中访问头文件中定义的结构.c?我们将头文件包含在.c文件中,然后我们可以直接使用 struct common C;

header file-new_algo.h

      #ifndef NEW_ALGO_H_

       #define NEW_ALGO_H_
       #endif /* NEW_ALGO_H_ */

       struct common{


        float count;
         //other variables

      };

#ifndef NEW_ALGO_H_ #define NEW_ALGO_H_ #endif /* NEW_ALGO_H_ */ struct common{ float count; //other variables };

的main.c

 #include "new_algo.h"

  int main()
{
    typedef struct common myStruct;
    myStruct* S;

   S->count = 0;//when I do this segmentation fault occurs
   //this is the error I get in eclipse

/* Thread [1] 0 (Suspended : Signal : SIGSEGV:Segmentation fault)   
main() at E:/Namratha//trial/.settings/..\\src\\main.c:44 0x401443*/    

}

2 个答案:

答案 0 :(得分:1)

嘿,故障错误不是由访问控制引起的。

在使用struct varible之前,你应该为它设置malloc空间,如

myStrcut *s = (myStrcut *)malloc(sizeof(myStruct))

然后分配:

s->count = 0

请试试。

答案 1 :(得分:0)

是的,这是对的。只需在源文件中包含标头,然后为结构创建实例。

<强> header.h

struct common
{
    // ...
};   

<强> .C

#include "header.h"
struct common C ;