读书人

为啥能调用结构体中的 变量

发布时间: 2013-04-21 21:18:07 作者: rapoo

为什么能调用结构体中的 变量?
sysmetrics.h
定义一个结构体
struct
{
int iIdex;
TCHAR * szLabel;
TCHAR * szDesc;
}

sysmetrics.cpp
#include .....
int WINAPI WinMain()
{
}
LRESULT CALLBACK WndProc()
{
...
switch (message)
{
case WM_CREATE:
hdc = GetDC (hwnd) ;

GetTextMetrics (hdc, &tm) ;
cxChar = tm.tmAveCharWidth ;
cxCaps = (tm.tmPitchAndFamily & 1 ? 3 : 2) * cxChar / 2 ;
cyChar = tm.tmHeight + tm.tmExternalLeading ;

ReleaseDC (hwnd, hdc) ;
return 0 ;

case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;

for (i = 0 ; i < NUMLINES ; i++)
{
TextOut (hdc, 0, cyChar * i,
sysmetrics[i].szLabel,
lstrlen (sysmetrics[i].szLabel)) ;

TextOut (hdc, 22 * cxCaps, cyChar * i,
sysmetrics[i].szDesc,
lstrlen (sysmetrics[i].szDesc)) ;

SetTextAlign (hdc, TA_RIGHT | TA_TOP) ;

TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,
wsprintf (szBuffer, TEXT ("%5d"),
GetSystemMetrics (sysmetrics[i].iIndex))) ;

SetTextAlign (hdc, TA_LEFT | TA_TOP) ;
}
EndPaint (hwnd, &ps) ;


return 0 ;


}中sysmetrics[i].szLabel为什么可以这样使用呢?sysmetrics[].szLabel会出错?求解答!谢谢!
[解决办法]
为什么不能呢?
[解决办法]
数组元素是通过下标访问的,没有下标那算什么
[解决办法]
当然是可以的,基本语法问题,不支持空下标。
[解决办法]


struct
{
int iIdex;// 设备序号
TCHAR* szLabel;// 设备卷标
TCHAR* szDesc; // 设备描述信息
};


引用:
引用:当然是可以的,基本语法问题,不支持空下标。那这个struct是什么意思啊,麻烦再回答下,好吗?谢谢!

读书人网 >C++

热点推荐