c中的结构体该怎么转换。。。。。。。。

mandarin 2010-07-15 09:20:21
typedef struct _CallBackFunction
{
int (__cdecl *OnUserLogin)(int iEventType, const char* UserName);

int (__cdecl *OnUserLogout)(int iEventType, const char* UserName);

}CallBackFunction;

要开发一个接口,他提供的是。h的文件,现在想把它转换成pas的用delphi开发,但是上面这种结构体中带函数申明的改怎么弄啊,哪位大佬知道额。。。
...全文
132 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanguomi 2010-07-15
  • 打赏
  • 举报
回复
C++ 调用


#include <stdio.h>
#include <iostream>
using namespace std;

typedef struct _CallBackFunction
{
int (__cdecl *OnUserLogin)(int iEventType, const char* UserName);

int (__cdecl *OnUserLogout)(int iEventType, const char* UserName);

}CallBackFunction;

int UserLogin(int iEventType, const char* UserName)
{
cout<<UserName<<endl;
return 0;
}

int main()
{
CallBackFunction a;
a.OnUserLogin = UserLogin;
a.OnUserLogin(2, "test");
return 0;
}

sanguomi 2010-07-15
  • 打赏
  • 举报
回复
type
OnUserLogin = function(iEventType: Integer; const UserName: Pchar) :Integer; cdecl;

type
_CallBackFunction = record
UserLogin: OnUserLogin;
UserLogout: OnUserLogin;
end;
CallBackFunction = _CallBackFunction;
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在C语言结构体是一种复合数据类型,它能够将不同类型的多个数据组合成一个统一的整体。结构体通常被用于表示较为复杂的数据结构,例如学生信息、员工记录等。指针是C语言一种特殊的变量,它存储的是其他变量的地址,通过指针可以间接访问和修改被指向的变量。 定义结构体时,需要使用struct关键字,后面紧跟结构体的名称以及其成员。例如,以下代码定义了一个结构体stu,它包含了学生的姓名(字符串指针)、学号(整型)、年龄(整型)、所在小组(字符)和成绩(浮点型): 我们可以创建结构体变量并初始化其成员。例如: 指针可以指向结构体变量。定义结构体指针的方式如下: 然后可以将结构体变量的地址赋值给指针,如下: 需要注意的是,不能直接写pstu = stu1,因为stu1是结构体变量本身,而不是地址。结构体变量名不会像数组名那样在表达式自动转换为指针,因此必须使用&运算符来获取其地址。 访问结构体成员有两种方式:一是通过解引用操作*和成员访问运算符.,例如(*pointer).memberName;二是使用结构体指针的箭头运算符->,例如pointer->memberName。这两种方式是等价的,但箭头运算符使代码更易读。例如: 结构体数组是结构体的数组形式,可以同时存储多个结构体变量。例如: 结构体数组的指针可以用来遍历整个数组。例如: 以上就是C语言关于结构体和指针的基本概念及其用法的介绍,包括结构体的定义、初始化、指针的声明、赋值,以及如何通过指针访问结构体成员。熟练掌握这些知识对于编写复杂的C程序非常重要。

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧