首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

结构体 是属于宣言,还是定义

2013-12-26 
结构体 是属于声明,还是定义?最近看书,声明可以需要用到的地方声明很多次,定义一个程序中只能有一次那么st

结构体 是属于声明,还是定义?
最近看书,声明可以需要用到的地方声明很多次,定义一个程序中只能有一次
那么
struct AAA
{
    int a;
};
这个结构体,在头文件中,被多个源文件调用,是不是说明这是对结构体类型的声明呢
有没有具体说明的相关文章
[解决办法]
看来,楼主的头脑中没有内部连接和外部连接的概念呀!!!
现在在给你科普一下...
时刻要注意区分内部连接和外部连接
  以下情况有内部连接:   
  a)所有的声明   
  b)名字空间(包括全局名字空间)中的静态自由函数、静态友元函数、静态变量的定义   
  c)enum定义   
  d)inline函数定义(包括自由函数和非自由函数)   
  e)类的定义,当然也包括struct定义了 
  f)名字空间中const常量定义   
  g)union的定义   
  外部连接:在一个多文件程序中,假如一个名称在连接时可以和其它编译单元交互,那么这个名称就有外部连接。   
  以下情况有外部连接:   
  a)类非inline函数总有外部连接。包括类成员函数和类静态成员函数   
  b)类静态成员变量总有外部连接。   
  c)名字空间(包括全局名字空间)中非静态自由函数、非静态友元函数及非静态变量   

热点排行