struct(在C与C++中的区别)

首先我承认没有系统地学习过C++,今天看到L的代码,我惊了下,struct怎么搞得跟class有点相似,还有构造函数啊~

查了下资料:http://msdn.microsoft.com/en-us/library/64973255(v=VS.90).aspx

struct关键字定义一个结构体类型或一个结构体类型的变量

具体内容点上面连接吧,我就写几点

  • 在C++里,结构体(a structure)相同于类(a class),除了它的成员(members)被默认为公有的(public)
  • 在C里,必须明确地用struct关键字声明一个结构体(structure);在C++中,一旦类型被定义了就不必要在这样做了
  • 当结构体类型被定义后,你可以在闭花括号(the closing brace)和分号之间放置一个或多个以逗号分割的变量名来声明变量
  • 结构体变量可以被初始化。但是要在花括号之内完成。(The initialization for each variable must be enclosed in braces)

 样例:

// struct1.cpp
struct PERSON {   // Declare PERSON struct type
   int age;   // Declare member types
   long ss;
   float weight;
   char name[25];
} family_member;   // Define object of type PERSON

int main() {
   struct PERSON sister;   // C style structure declaration
   PERSON brother;   // C++ style structure declaration
   sister.age = 13;   // assign values to members
   brother.age = 7;
}

 

struct POINT {   // Declare POINT structure
   int x;   // Define members x and y
   int y;
} spot = { 20, 40 };    // Variable spot has
                        // values x = 20, y = 40

struct POINT there;     // Variable there has POINT type

struct CELL {   // Declare CELL bit field
   unsigned short character  : 8;  // 00000000 ????????
   unsigned short foreground : 3;  // 00000??? 00000000
   unsigned short intensity  : 1;  // 0000?000 00000000
   unsigned short background : 3;  // 0???0000 00000000
   unsigned short blink      : 1;  // ?0000000 00000000
} screen[25][80];       // Array of bit fields 

原文链接: https://www.cnblogs.com/submarinex/archive/2011/04/09/2010760.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    struct(在C与C++中的区别)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/23654

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午1:34
下一篇 2023年2月8日 上午1:34

相关推荐