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定义结构体也会有相同的问题。解决方法也一样。




        

  • 相关阅读:
    TCP重传
    GIT常用命令参考图
    nodepad++ 快捷键加常用操作
    Django学习之manage.py使用
    Python遍历目录
    Pycharm 2017 12月最新激活码
    Python 基础之列表去重的几种玩法
    ddos cc攻击简单介绍(转)
    linux升级python版本至3
    linux解压xxx.tar.xz文件
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7224244.html
Copyright © 2011-2022 走看看