首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-04-21 
为什么能调用结构体中的 变量?sysmetrics.h定义一个结构体struct{intiIdexTCHAR *szLabelTCHAR *szDesc

为什么能调用结构体中的 变量?
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是什么意思啊,麻烦再回答下,好吗?谢谢!

热点排行