Re: C Unions

From: Rick VanNorman <rvn_at_forth.com>
Date: Mon, 30 Oct 2000 13:58:54 -0800

Mike,

>Could anyone explain to a C illiterate how to interpret a C class union?
>
>For example:
>
>-------------------------------------------------
>typedef struct _PROPSHEETPAGE {
> DWORD dwSize;
> DWORD dwFlags;
> HINSTANCE hInstance;
> union {
> LPCSTR pszTemplate;
> LPCDLGTEMPLATE pResource;
> };
> union {
> HICON hIcon;
> LPCSTR pszIcon;
> };
> LPCSTR pszTitle;
> DLGPROC pfnDlgProc;
> LPARAM lParam;
> LPFNPSPCALLBACK pfnCallback;
> UINT FAR * pcRefParent;
>
>} PROPSHEETPAGE, FAR *LPPROPSHEETPAGE;
>-------------------------------------------------

CLASS PROPSHEETPAGE
    VARIABLE dwSize
    VARIABLE dwFlags
    VARIABLE hInstance

    0 BUFFER: pszTemplate
    VARIABLE pResource

    0 BUFFER: hIcon
    VARIABLE pszIcon

    VARIABLE pszTitle
    VARIABLE pfnDlgProc
    VARIABLE lParam
    VARIABLE pfnCallback
    VARIABLE pcRefParent
END-CLASS

The unions each occupy the same storage, so
pszTemplate and pResource are in the same 4 bytes, as are
hIcon and pszIcon.

Rick
Received on Mon Oct 30 2000 - 14:10:10 PST


Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!

This archive was generated 06-Feb-2012. Archive updated nightly.