ysr123456yyy 2022-05-12 17:46 采纳率: 81.3%
浏览 17
已结题

引用自定义函数和全局变量,结果编译报错说重复定义

问题遇到的现象和发生背景

这是3个文件代码

img

img

img

问题相关代码,请勿粘贴截图
#define CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include "1.h"

int main()
{
    value = 100;
    for (int i = 0; i < 10; i++)
    {
        incresedata();
    }
    printf("%d", value);
    return 0;
}

运行结果及报错内容

img

我想要达到的结果

正常运行

  • 写回答

1条回答 默认 最新

  • 丨秋水丨 2022-05-12 17:53
    关注

    要使用extern在头文件里声明全局变量

    1.h

    #pragma once
    // 提供调用的头文件
    extern int value;
    

    然后在3.c或者2.c或者新的.c文件里面定义这个全局变量

    3.c

    // 功能实现文件
    #include"1.h"
    int value = 0;
    void increasedata()
    {
        value++;
        return;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月20日
  • 已采纳回答 5月12日
  • 创建了问题 5月12日