问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++所有数据类型

发布网友 发布时间:2022-05-27 13:05

我来回答

3个回答

热心网友 时间:2023-10-24 07:15

你说的这是MFC的数据类型。MFC中常见的数据类型如下:
1、Win32程序共同使用的数据类型:
BOOL:布尔值,取值为TRUE or FALSE
BSTR:32-bit 字符指针
BYTE:8-bit整数,未带正负号
COLORREF:32-bit数值,代表一个颜色值
DWORD:32-bit整数,未带正负号
LONG:32-bit整数,带正负号
LPARAM:32-bit整数,作为窗口函数或callback函数的一个参数
LPCSTR:32-bit指针,指向一个常数字符串
LPSTR:32-bit指针,指向一个字符串
LPCTSTR:32-bit指针,指向一个常数字符串,此字符串可以移植到Unicode和DBCS
LPTSTR:32-bit指针,指向一个字符串,此字符串可以移植到Unicode和DBCS
LPVOID:32-bit指针,指向一个未指定类型的数据
LPRESULT:32-bit数值,作为窗口函数或callback函数的返回值
UINT:在Win16中是一个16-bit 未带正负号整数,在Win32中是一个32-bit 未带 正负号整数,
WNDPROC:32-bit指针,指向一个窗口函数
WORD:16-bit 整数 ,未带正负号
WPARAM:窗口函数或callback函数的一个参数,在Win16中是16-bit,在Win32中是32-bit

2、MFC独特的数据类型
POSITION:一个数值,代表collection对象(例如数组或链表)中的元素位置,常 用于MFC collection classes(即数据处理类,如CArray)
LPCRECT:32-bit指针,指向一个不变的RECT结构

热心网友 时间:2023-10-24 07:15

ATOM 原子(原子表中的一个字符串的参考)
BOOL 布尔变量
BOOLEAN 布尔变量
BYTE 字节(8位)
CCHAR Windows字符
CHAR Windows字符
COLORREF 红、绿、蓝(RGB)彩色值(32位)
Const 变量,该变量的值在执行期间保持为常量
CRITICAL_SECTION 临界段对象
CTRYID 国名标识符
DLGPROC 指向一个对话框过程的指针
DWORD 双字(32位)
ENHMFENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举增强的元文件记录
ENUMRESLANGPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源语言。
ENUMRESNAMEPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源名称。
ENUMRESTYPEPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源类型。
FARPROC 指向一个回调函数的指针
FLOAT 浮点变量
FMORDER 32位字体映射值的数组
FONTENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举字体
GOBJENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举图形设备接口(GDI)对象
HACCEL 加速键表句柄
HANDLE 对象的句柄
HBITMAP 位图句柄
HBRUSH 画刷句柄
HCONV 动态数据交换(DDE)会话句柄
HCONVLIST DDE会话句柄
HCURSOR 光标句柄
HDC 设备描述表(DC)句柄
HDDEDATA DDE数据句柄
HDLG 对话框句柄
HDWP 延期窗口位置结构句柄
HENHMETAFILE 增强原文件句柄
HFILE 文件句柄
HFONT 字体句柄
HGDIOBJ GDI对象句柄
HGLOBAL 全局内存块句柄
HHOOK 钩子句柄
HICON 图标句柄
HINSTANCE 实例句柄
HKEY 登记关键字句柄
HLOCAL 局部内存块句柄
HMEMU 菜单句柄
HMETAFILE 元文件句柄
HMIDIIN 乐器的数字化接口(MIDI)输入文件句柄
HMIDIOUT MIDI输出文件句柄
HMMIO 文件句柄
HOOKPROC 指向一个应用程序定义的钩子函数的指针
HPALETTE 调色板句柄
HPEN 画笔句柄
HRGN 域句柄
HRSRC 资源句柄
HSZ DDE字符串句柄
HWAVEIN 波形输入文件句柄
HWAVEOUT 波形输出文件句柄
HWINSTA 工作站句柄
HWND 窗口句柄
INT 符号整数
LANGID 语言标识符
LCID 所在国(Locale)标识符
LCTYPE 所在国类型
LINEDDAPROC 指向一个回调函数的指针,该回调函数处理行坐标
LONG 32位符号整数
LP 指向一个以"NULL"结束的Unicode(TM)字符串的指针
LPARAM 32位消息参数
LPBOOL 指向一个布尔变量的指针
LPBYTE 指向一个字节的指针
LPCCH 指向一个Windows字符常量的指针
LPCCHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPCFHOOLPROC 指向一个应用程序定义的钩子函数的指针
LPCH 指向一个Windows字符的指针
LPCOLORREF 指向一个COLORREF值的指针
LPCRITICAL_SECTION 指向一个临界段对象的指针
LPCSTR 指向一个以"NULL"结束的WINDOWS字符串常量的指针
LPCTSTR 指向一个以"NULL"结束的Unicode或Windows字符串常量的指针
LPCWCH 指向一个以"NULL"指向一个以"NULL"结束的Unicode字符常量的指针
LPCWSTR 指向一个以"NULL"指向一个以"NULL"结束的Unicode字符串常量的指针
LPDWORD 指向一个无符号双字(32位)的指针
LPFRHOOLPROC 指向一个应用程序定义的钩子函数的指针
LPHANDLE 指向一个句柄的指针
LOHANDLER_FUNCTION 指向一个处理程序函数的指针
LPHWAVEIN 指向一个波形输入文件句柄的指针
LPHWAVEOUT 指向一个波形输出文件句柄的指针
LPINT 指向一个符号整数的指针
LPLONG 指向一个符号长整数(32位)的指针
LPOFNHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPPRINTHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPSETUPHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPTSTR 指向一个以NULL结束的Unicode或Windows字符串的指针
LRESULT 消息处理的符号结果
LPVOID 指向任何类型的指针
LPWSTR 指向一个以"NULL"结束的Unicode字符串的指针
LUID 局部唯一的标识符
MCIDEVICEID 媒体控制接口(MCI)设备标识符
MFENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举元文件记录
MMRESULT 多媒体消息的处理结果
NPSTR 指向一个以"NULL"结束的Windows字符串的指针
NWPSTR 指向一个以"NULL"结束的Unicode字符串的指针
PBOOL 指向一个布尔变量的指针
PBYTE 指向一个字节的指针
PCCH 指向一个Windows字符常量的指针
PCH 指向一个Windows字符的指针
PCHAR 指向一个Windows字符的指针
PCRITICAL_SECTION 指向一个临界段对象的指针
PCSTR 指向一个以"NULL"结束的Windows字符串常量的指针
PCWCH 指向一个Unicode字符常量的指针
PCWSTR 指向一个以"NULL"结束的Unicode字符串常量的指针
PDWORD 指向一个无符号双字的指针
PFLOAT 指向一个浮点变量的指针
PFNCALLBACK 指向一个回调函数的指针
PHANDLE 指向一个句柄的指针
PHANDLER_ROUTINE 指向一个处理程序的指针
PHKEY 指向一个登记关键字的指针
PINT 指向一个符号整数的指针
PLONG 指向一个符号长整数的指针
PLUID 指向一个局部唯一的表示符(LUID)的指针
PROPENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举窗口特征
PSHORT 指向一个符号短整数的指针
PSID 指向一个加密标识符(SID)的指针
PSTR 指向一个以"NULL"结束的Windows字符串的指针
PSZ 指向一个以"NULL"结束的Windows字符串的指针
PTCH 指向一个Windows或Unicode字符的指针
PTCHAR 指向一个Windows或Unicode字符的指针
PTSTR 指向一个以"NULL"结束的Windows或Unicode字符串的指针
PUCHAR 指向一个无符号Windows字符的指针
PUINT 指向一个无符号整数的指针
PULONG 指向一个无符号长整数的指针
PUSHORT 指向一个无符号短整数的指针
PVOID 指向任何类型的指针
PWCH 指向一个Unicode字符的指针
PWCHAR 指向一个Unicode字符的指针
PWORD 指向一个无符号字的指针
PWSTR 指向一个以"NULL"结束的Unicode字符串的指针
REGSAM 登记关键字的加密掩码
SC_HANDLE 服务句柄
SERVICE_STATUS_HANDLE 服务状态值句柄
SHORT 短整数
SPHANDLE 指向一个句柄的指针
TCHAR Unicode或Windows字符
TIMERPROC 指向一个应用程序定义的定时器回调函数的指针
UCHAR 无符号Windows字符
UINT 无符号整数
ULONG 无符号长整数
USHORT 无符号短整数
VOID 任何类型
WCHAR Unicode字符
WNDENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举窗口
WNDPROC 指向一个应用程序定义的窗口过程的指针
WORD 无符号字(16位)
WPARAM 32位消息参数
YIELDPROC 指向一个输出回调函数的指针

热心网友 时间:2023-10-24 07:16

常量
const int MAX_VASLUE=10;
强制修改常量值
const int MAX_VASLUE=10;
*(int*)&MAX_VASLUE=5;
int var=*(int*)&MAX_VASLUE;
printf("%d ",var); // 5
printf("%d ",*(int*)&MAX_VASLUE); // 5
printf("%d ",MAX_VASLUE); // 10变量
int min=0;
char* pch;
int min(10);
int min=int(); // 初始化 min 为 0
double max=double(); // 初始化 max 为 0.0变量的存储类型
(1)extern 只申明而不定义变量
表明该变量在别的地方已经定义过了,在这里要使用那个变量.
文件(1)
extern int var; // 在该文件中就可以访问全局变量var
文件(2)
int var=0; // 全局变量var
(2)static 静态变量
局部静态变量
可以认为局部静态变量是一个在函数调用后保留其值的局部变量
void TestStaticVar()
{
static int slocal = 10; //定义一个局部静态变量
printf("%d ",slocal); //输出变量
slocal++; //自加1
}
void main()
{
//连续3次调用TestStaticVar
TestStaticVar(); // 10
TestStaticVar(); // 11
TestStaticVar(); // 12
}
*局部静态变量slocal只初始化一次
全局静态变量
与局部静态变量比较就是作用域不同
可以认为全局静态变量只是半个全局变量(不能被其他文件共享)
(3)register
表示变量被放置在CPU的寄存器中
register只能用于局部变量或作为函数的形参,不能定义为全局的register变量.
register int slocal=10;
(4)auto
静态存储:全局变量,静态变量
动态存储:普通局部变量
auto便是变量将被动态存储,默认的局部变量都是auto变量枚举类型
enum InstanceState{CLOSE,OPEN,MOUNT,UNMOUNT};
enum InstanceState{CLOSE=1,OPEN,MOUNT=4,UNMOUNT};
OPEN=2,UNMOUNT=5;结构体类型
const int MAX_CHAR=128;
struct Student
{
char name[MAX_CHAR];
char sex[MAX_CHAR];
unsigned int age;
char addr[MAX_CHAR];
};
Student stdnt; //定义一个结构体变量
stdnt.age = 10; //为结构体成员赋值
Student another; //再次定义一个结构体变量
another = stdnt; //直接为结构体变量赋值
printf("%d ",another.age); //输出结构体成员信息struct fieldzone
{
unsigned char:4; // 占4位半个字节
unsigned char memTwo:2; // 占2位
unsigned char memThree:1; // 占1位
};公用体类型
union unType{
char cdata;
int idata;
};
公用体是共享同一个内存地址,
通常一次只需要使用一个成员,公用体变量长度是根据公用体成员中占用最多内存空间的变量分配空间.pair类型
可以使两个相同或不同类型的变量关联在一起
#include //引用头文件
using namespace std; //使用命名空间
void main()
{
pair< int,char* > list(10,"C++"); //定义pair类型变量list
if (list.first==10 && list.second =="C++") //访问list中的成员
{
printf("I love C++ language! ");
}
}指针类型
指针用来存放变量的地址
int ivar=10;
int* pi; // 定义整型指针变量
pi=&ivar; // 将其赋值为ivar的地址
int* pvar=&ivar; // 定义整型指针变量,将其初始化为ivar的地址
在指针变量前使用"*"运算符,就可以直接访问变量的数据
int ivar = 10; // 定义整型变量
int* pvar = &ivar; // 定义整型指针变量,将其初始为ivar的地址
*pvar = 8; // 修改指针变量指向的地址的值
printf("ivar = %d\n",ivar); // 输出变量值
printf("pvar = %d\n",*pvar);// 输出指针变量值int n = 10;
int *p = &n; // 不管是C还是C++这句都是对的
int *p = n; // 不管是C还是C++这句都是错的!!!类型不匹配
int iarray[5]={1,2,3,4,5};
int* pavr=iarray; // 定义一个整型指针变量,将其指向数组中的第一个元素(同int* pvar=&iarray[0];)
使用指针变量输出数组
int iarray[5] = {1,2,3,4,5}; // 定义一个数组,并进行初始化
int* pvar = iarray; // 定义一个指针变量,将其指向数组首地址
for(int i=0; i<5;i++) // 循环语句,用于遍历数组元素
{
printf("数组元素[%d]= %d\n",i,*pvar); // 利用指针变量输出数组元素
pvar = pvar + 1; // 移动指针,使其指向下一个元素
}
利用指针数组存储数据
int* parray[5]; // 定义一个指针数组
int iarray[5] = {9,8,7,6,5}; // 定义一个整行数组
for(int i=0; i<5;i++) // for循环
{
parray[i] = & iarray[i]; // 为指针数组中的元素赋值
printf("数组元素[%d]= %d\n",i,*parray[i]); // 输出指针数组元素中的数据值
}
修改指针常量的地址
int ivar=10; // 定义一个整型变量
const int* pvar=&ivar; // 定义一个指针常量,对其进行初始化
//*pvar=20; // 错误的代码,不能修改指针常量的数据
int inum=5; // 再次定义一个整型变量
pvar=&inum; // 修改指针常量指向的地址
修改指向整型的常量指针的值
int ivar=10; // 定义一个整型常量
int* const pvar=&ivar; // 定义一个指向整型常量的指针
*pvar=20; // 修改指针指向的数据
int inum=5; // 定义一个整型变量
//pvar=&inum; // 错误的代码,不能够修改常量指针指向的地址
两个const关键字
int ivar=10;
const int* const pvar=&ivar;
// *pvar=20; // 非法代码,不能够修改pvar指向的数据
int inum=5; // 定义一个整型变量
// pvar=&inum; // 非法代码,不能够修改pvar指向的地址引用类型
int ivar=10; // 定义一个整型变量
int& rvar=ivar; // 定义一个引用对象
rvar = 5; // 设置引用对象数据
printf("ivar = %d\n",ivar); // 输出变量ivar 5
printf("rvar = %d\n",rvar); // 输出变量rvar 5
printf("ivar的地址 = %d\n",&ivar); // 输出整型变量的地址 (地址相同)
printf("rvar的地址 = %d\n",&rvar); // 输出"引用对象"的地址 (地址相同)
程序中如果对引用对象进行取地址,返回的将是目标的地址,因为引用是目标的代名词typedef 自定义类型(重命名数据类型)
typedef unsigned int UInt;
UInt ivar=10;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 蓝莓树的花苞总是黑是为什么 VAS125R/NW能不能调节压力? 为什么我长的奥尼尔蓝莓还没有开花? 我是长春的 请问我的蓝莓为什么现在还没有开花? 我的蓝莓只有叶子,没什么花? 蓝莓这是蓝莓的花苞吗今年能结果吗 买的三年苗 我的蓝莓盆栽全是叶子只有一组花苞,今年怎么处理能让它再长出花苞? 蓝莓花苞干枯了什么原因 我的蓝莓只长叶不开花怎么回事,现在叶子很多,连花骨朵儿都没有怎么办? 举证加班费成功案例 香养暖宫贴价格适合一般人吗? 正午阳光暖宫贴医院一般卖什么价 劳动争议抗诉成功案例 产妇坐月子过了100天是不是就恢复正常生活了,在吃的方面没有禁忌吧? 坐月子真的需要坐满一百日吗? 产后100天能恢复吗 坐月子需要100天吗 坐月子的时长需要多久 坐月子里必须过百天吗 为什么坐月子要100天才能出门,怎么办 坐月子100天的来历 即热热水器不出热水怎么解决? 销售酒水需要办什么证 请问如果在饭店里卖酒的话有了食品许可证,那还需不需要办理酒类销售许可证? 嘀嗒出行里面的选择时间显示不时间固定不住怎么办 卖酒的话除了食品许可证,还要不要办理酒类销售许可证? 现在笔记本电脑1G独显够用吗。。。 高跟鞋靴子搭配什么衣服好看 马丁靴是女孩鞋柜里必不可少的单品,马丁靴最经典的搭配是什么? 【求救】想买1G独显的笔记本,哪个牌子好? 男朋友把你的设置红旗什么意思 巴洛克风格的鞋子怎样配袜子? 买的笔记本电脑显卡为1G独显,可以更换显卡吗? 冬季时尚鞋靴如何搭配软文 在校自考与社会自考的区别 社会自考和学校组织的自考有什么区别吗 在校自考和社会自考有什么区别 在学校自考与在社会自考有区别吗? 找这样一对的情侣头像 -- 度娘 靠你了 两个都要 我这个太模糊了 眼科:请问泪小管堵塞该怎么通 硝化细菌有没异养型的?