我有二维矩阵的自定义结构。我在函数内使用此结构来初始化 2D 矩阵,其中每个元素值都设置为 0。我还有另一个函数将矩阵打印到终端(用于调试目的)。
当我在 中编写结构和函数时main.c,它们就可以工作。问题是当我将它们放在一个单独的文件中并从该文件调用它们时,我收到运行时错误:Exception thrown: write access violation。
在我的程序中,我有 3 个文件:main.c, my_lib.h, my_lib.c. 结构体存储在里面my_lib.h,函数在my_lib.c. 里面main.h
我正在使用 Windows 10 并在 Visual Studio 2017 v15.9.10 中进行编码
程序可以编译但出现运行时错误Exception thrown: write access violation

好吧,看来这件事的发生是我自己的错。
实际上,我试图在我的工作计算机上运行这段代码。我已经在我的个人计算机上编写了原始代码,其中main.c, my_lib.h&my_lib.c版本可以正常工作。然后我复制了我正在处理的文件夹并尝试在我的工作计算机上继续。我的两台电脑都运行 Windows 10 操作系统,并且都有相同版本的 VS 2017。
在我的个人计算机上,解决方案资源管理器如下所示:
但在我的工作计算机上,解决方案打开为:
两台计算机上的所有内容(包括文件夹层次结构)都是相同的。看来,复制项目文件夹并不是一个好主意。
当我在工作计算机上创建一个新的 C 项目并手动添加my_lib.c和时my_lib.h,一切正常。
但我仍然很好奇为什么我收到异常错误...以及如何在不创建 VS 中创建新项目的情况下纠正这个复制问题?
主程序
#include …Run Code Online (Sandbox Code Playgroud)