HLOCAL 初探

首先看一段程序,输出的结果为两个相同的整数(这两个整数是内存地址)。

#include "stdafx.h"  
#include <windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
HLOCAL h = NULL;
int *a = (int*)malloc(sizeof(int));
h = a;
*a = 3;
printf("%d %d/n",a,h);
return 0;
}

  1. #include "stdafx.h"  
  2. #include <windows.h>  
  3.   
  4. int _tmain(int argc, _TCHAR* argv[])  
  5. {  
  6. HLOCAL h = NULL;  
  7. int *a = (int*)malloc(sizeof(int));  
  8.   
  9. h = a;  
  10. *a = 3;  
  11.   
  12. printf("%d %d/n",a,h);  
  13. return 0;  
  14. }  

今天读《Windows核心编程》遇到了HLOCAL这个变量,

// 在WinDef.h中发现

typedef HANDLE HLOCAL;

// 在WinNt.h中发现

typedef void *HANDLE;

原来HANDLEHLOCAL就是void*

MSDN上的解释为:Handle to a local memory block. 直译是:一个局部的内存块。额,看typedef的这些定义,发现就是指向一块内存区域的指针。

原文地址:https://www.cnblogs.com/herbertchina/p/4306827.html