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

为了增加参数调用的灵活性,可以利用结构体指针传递多个不同的参数进入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语言 机构体传给指针,注意使用结构体指针给函数传递参数。相关推荐

  1. C语言结构体指针(指向结构体的指针)详解

    当一个指针变量指向结构体时,我们就称它为结构体指针.C语言结构体指针的定义形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: //结构体 struct stu{ cha ...

  2. C语言结构体的定义与使用、结构体数组、指向结构体的指针(有代码详解)

    1.结构体的定义与使用 结构体是一种构造数据类型 把不同类型的数据组合成一个整体 结构体的定义形式: struct 结构体名{结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数 ...

  3. 自己实现了一个C语言例程,加深对宏、大小端、typeof宏、offsetof宏、指针变量、结构体、联合体的理解

    如题所述,最近时间在复习C语言.自己实现了一个C语言例程,以加深对宏.大小端.typeof宏.offsetof宏.指针变量.结构体.联合体的理解.关于细分知识后续有空再填充- swap宏的使用: 对应 ...

  4. c语言学习笔记【结构体02】结构体指针变量与结构体变量的函数参数,C语言学习笔记结构体02结构体指针变量与结构体变量的函数参数.docx...

    C 语言学习笔记[结构体02]结构体指针变量与结构体变量 的函数参数 C 语言学习笔记之结构体指针变量一提指针,那可 是 C 语言的核心了,有多少学子曾拜倒在指针的脚下.单纯的说指针,其实并不难,但是 ...

  5. python 结构体指针_C语言结构体指针(指向结构体的指针)详解

    当一个指针变量指向结构体时,我们就称它为C语言结构体指针的定义形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: //结构体 struct stu{ char *nam ...

  6. C语言中结构体指针出现重定义,C语言结构体指针中包含结构体指针

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. 将C++代码转化为C的过程中,一些C++的特性无法使用 类内私有变量在类内公共 ...

  7. 【C 语言】结构体 ( 指针运算与指针内存操作 | 结构体成员偏移量计算 )

    文章目录 一.指针运算 与 指针内存操作 二.结构体偏移量计算 一.指针运算 与 指针内存操作 指针变量算术运算 ( 指针可以是任意值 ) : 指针 是一个变量 , 如果对指针进行 算术 / 逻辑 等 ...

  8. C语言结构体赋值和有指针成员的结构体赋值

    1  结构体赋值 #include <windows.h>struct MyStruct {int a;int b;char c[20]; };int APIENTRY WinMain(H ...

  9. C语言:指针的偏移步长、结构体成员的偏移量、嵌套结构体成员的偏移量、结构体的内存对齐

    文章目录 1 不同类型指针的偏移步长 2 结构体成员的偏移量 3 嵌套结构体成员的偏移量 4 结构体的内存对齐 4.1 内存对齐的原因与优点 4.2 结构体内存对齐的规则 4.3 结构体嵌套结构体时的 ...

  10. C语言结构体变量 指针以及对结构体成员的访问

    文章目录 结构体 结构体变量访问成员的方法 结构体指针变量访问成员的方法 结构体 struct AGE {int year;int month;int day; }; struct STUDENT { ...

最新文章

  1. java 获取打印机缺纸_第三章软件
  2. 今日arXiv精选 | 46篇EMNLP 2021最新论文
  3. hadoop等的下载地址
  4. python3界面实例_程序人生——python3下tkinter的界面示例
  5. 移植U-Boot思路和实践 | 基于RK3399
  6. asp.net中验证控件的使用方法
  7. matlab 显示歌词,【Matlab编程】生日快乐歌(显示歌词)—matlab版
  8. 数字公式识别的学习笔记(legacy)
  9. 人生的四大天规,越早明白,越有福气
  10. 小爱同学,生命的意义是什么?
  11. matlab padarray,MATLAB中padarray函数用法
  12. android毕业论文附录,毕业论文常见格式 论文附录格式
  13. 简单的c语言游戏编程打地鼠,少儿创意编程scratch初级游戏--打地鼠
  14. 闲谈IPv6-为了每一粒沙,真实的代价!
  15. mac android使用WiFi安装应用调试程序
  16. ps怎样裁剪html网页,Photoshop另类实用技巧:切网页
  17. C语言基础级——标准输入和输出
  18. BMI值(Body Mass Index,简称BMI),是指身高体重指数,是国际上常用的衡量人体肥胖程度和是否健康的重要标准,BMI的计算公式是:体重指数(BMI)=体重(kg)÷身高2(m)。
  19. linux curl命令详解,以及实例
  20. Python文本情感分析实战【源码】

热门文章

  1. 区块链python还是c_区块链要学什么编程语言?
  2. C++ 实现matlab中值滤波函数medfilt2
  3. 寻找旋转数组的最小值
  4. 浅谈一下什么是越权问题?
  5. python如何安装sklearn库_1.sklearn库的安装
  6. python selenium中如何测试360等基于chrome内核的浏览器
  7. D. Boris and His Amazing Haircut(线段树)
  8. Android Camera2 之 CameraCaptureSession 详解
  9. ROS:optris热成像仪使用
  10. 程序员如何年入1000万,实现人生理想,走向人生巅峰!(史上最全)