zoukankan      html  css  js  c++  java
  • 179一个错误的认识

    一编译

     说明函数fun 重定义了。

     我们说函数的定义一定要写在源文件中,为什么不能写在头文件中?因为头文件要在我们的项目中在多个位置被包含,头文件的本质就复制替换。如果函数定义写在了头文件中,那么就相当于在程序的多个位置,出现了和 fun 同名的函数。所以函数的定义要写在源文件中,而源文件不会被包含,所以源文件中的内容一定是独一份的。

    这里为什么fun会 重定义呢?

    之前说过,像结构体只是在所在的文件中可见,在一个文件中定义了 struct cc 这个结构体,在另一个文件中再定义 struct cc 这个结构体,他俩之间没有任何的关系。只在自己所在的文件中可见。

    而函数的定义是只能存在一份,相当于是全局的!也就是整个工程都只能存在一个fun。fun在任何位置都好使。

    所以,定义放在源文件中,声明(宏,typedef,结构体的声明,函数声明)放在头文件中。  

     另外  一个问题

    如果想要结构体互相嵌套的时候,要使用指针。为什么?

    因为指针不管是什么类型的,在32位编译器环境下就是4字节。

    所以

    结构体中出现未定义 这个问题就是未知大小

  • 相关阅读:
    电脑常用快捷键
    k8s node 系统参数调整
    docker 制作镜像并上传
    php服务部署安装
    安装 Kuboard v2
    keepalive配置
    elasticsearch的segment详解
    grafana模板
    jenkins启动
    kubernetes 中文文档
  • 原文地址:https://www.cnblogs.com/dabing0983/p/10559556.html
Copyright © 2011-2022 走看看