zoukankan      html  css  js  c++  java
  • typedef struct与struct定义结构体

    今天在定义结构体的时候发现typedef struct与struct定义结构体有一些不同之处:

    结构也是一种数据类型, 能够使用结构变量, 因此,  象其他 类型的变量一样, 在使用结构变量时要先对其定义。   
    定义结构变量的一般格式为:   
         struct 结构名   
         {   
      
              类型  变量名;   
      
              类型  变量名;   
      
              ...   
      
         } 结构变量;   
      
     结构名是结构的标识符不是变量名。   
    还有一种经常使用格式为:      
     typedef struct 结构名   
         {   
      
              类型  变量名;   
      
              类型  变量名;   
      
              ...   
      
         } 结构别名;    
    另外注意:  在C中,struct不能包括函数。在C++中,对struct进行了扩展。能够包括函数。  

    编程中gcc报错: expected specifier-qualifier-list before sth

    网上查了下出错原因,解释例如以下:

    在使用GCC时常常会遇到expected specifier-qualifier-list before sth之类的错误。specifiers是指void、char、struct Foo等词汇;qualifiers是指像const和volatile一类的keyword。一个词汇在没有定义之前就使用就会出项这样的错误。能够通过typedef进行定义以后再使用。出错语句例如以下所看到的:

    typedef struct {
        int    name[20];
        int    id;
        stu    *next;    //报错
    } stu;
    解决方法
    typedef struct {
        int    name[20];
        int    id;
        struct stu    *next;    //通过编译
    }stu;
    用struct定义结构体也会有相同的问题。解决方法也一样。




        

  • 相关阅读:
    [Python] 登录人人网2011版
    [WPF] 自定义窗体样式
    [Python] 控制台输入密码的方法
    [Python] 字符串加密解密
    [WPF] 模仿AMD LIVE! EXPLORER界面
    [Python] Visual Studio 2008 集成 IronPython 开发环境
    mysql表类型(存储引擎)
    logstash收集nginx访问日志
    linux设置开机启动脚本
    logstash安装log4j插件
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7224244.html
Copyright © 2011-2022 走看看