失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言如何传递结构体指针 注意使用结构体指针给函数传递参数。

c语言如何传递结构体指针 注意使用结构体指针给函数传递参数。

时间:2021-09-10 16:53:35

相关推荐

c语言如何传递结构体指针 注意使用结构体指针给函数传递参数。

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

为了增加参数调用的灵活性,可以利用结构体指针传递多个不同的参数进入C语言函数体。

最著名的例子就是用Win32API

HANDLE CreateThread(LPSECURITY_ATTRIBUTES

lpThreadAttributes,

DWORD dwStackSize,

LPTHREAD_START_ROUTINE

lpStartAddress,

LPVOID lpParameter,

DWORD dwCreationFlags,

LPDWORD lpThreadId);

函数来创建线程。

函数的返回值是一个线程句柄

LPSECURITY_ATTRIBUTES lpThreadAttributes一般设为NULL

DWORD dwStackSize 一般设为0

LPTHREAD_START_ROUTINE lpStartAddress 是一个函数指针,一般就是所要执行的函数名。(重要)

LPVOID lpParameter 无类型参数指针。一般用结构体指针传递参数。无参数时为NULL。(重要)

DWORD dwCreationFlags 线程执行模式:0(立即执行),CREATE_SUSPENDED(挂起)

LPDWORD lpThreadId 32位无符号整形指针。用来获取线程ID。

应用举例:

MultiThread3将演示如何传送一个指向结构体的指针参数。

建立一个基于对话框的工程MultiThread3,在对话框IDD_MULTITHREAD3_DIALOG中加入一个编辑框IDC_MILLISECOND,一个按钮IDC_START,标题为“开始” ,一个进度条IDC_PROGRESS1;

打开ClassWizard,为编辑框IDC_MILLISECOND添加int型变量m_nMilliSecond,为进度条IDC_PROGRESS1添加CProgressCtrl型变量m_ctrlProgress;

在MultiThread3Dlg.h文件中添加一个结构的定义:

struct threadInfo

{

UINT

nMilliSecond;

CProgressCtrl* pctrlProgress;

};

如果觉得《c语言如何传递结构体指针 注意使用结构体指针给函数传递参数。》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。