4个回答
展开全部
写个头文件 c.h 声明 一个结构体类型
struct STU
{
int x;
int y;
};
定义结构体变量s的文件b.c
#include "c.h"
struct STU s; /* 不加extern ,默认认为extern */
a.c 调用b.c里定义的全局变量s
#include <stdio.h>
#include "c.h" /* struct STU这个类型的定义(或者说声明)在这个头文件里 */
extern struct STU s;/* 声明它是外部的类型是struct STU */
int main()
{
printf("s.x+s.y = %d+%d = %d\n",s.x,s.y,s.x+s.y);/*调用了*/
展开全部
首先应该告诉你 使用全局变量是很不好的习惯 学会使用参数传递 这样不仅可以解决你的问题 而且可以让程序 有较高的可读性和容错性 你只需要在insert函数中加入参数声明 再在main中将参数传递给他就好了 要是希望改动p内的值可以使用指针传递方式
追问
dll是MFC写的,没有insert函数,怎么弄?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ex: 在dll 中声明:
typedef struct _point_
{
int x;
int y;
}POINT11;
__declspec(dllexport) POINT11 g_point;
在.exe文件中:
__declspec(dllimport) POINT11 g_point;
typedef struct _point_
{
int x;
int y;
}POINT11;
__declspec(dllexport) POINT11 g_point;
在.exe文件中:
__declspec(dllimport) POINT11 g_point;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前加_declspec(dllimport),跟导出函数一样,不过在.h文件中extern这个全局变量就可以了
extern _declspec(dllimport) xx;
extern _declspec(dllimport) xx;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询