VS练习 C++ 开发环境搭建,数据类型和指针

//写代码的地方

/*主要是预编译文件当中没有把全部的头文件包含全,导致下面有些函数无法正常使用*/
/*此程序的主要作用在于修改旧的程序名,改为新的程序名*/
#include "预编译.h"
#pragma warning(disable:4996)//忽略4996错误提示
#pragma comment(linker,"/entry:mainCRTStartup /subsystem:windows")

VOID PrintUI(CONST CHAR* ExeName, CONST CHAR* UIName, CONST CHAR* color, SHORT X坐标, SHORT Y坐标, WORD UIWide, WORD UIHigh)
{
	AllocConsole();/*添加一个调试的窗口*/
	freopen("conin$", "r+t", stdin);/*将输入流设置为当前测试窗口*/
	freopen("conout$", "w+t", stdout);/*将输出流设置为当前测试窗口*/
	SetConsoleTitleA(UIName);/*设置窗口标准名称*/
	system(color);
	CHAR oldPathName[1024];/*原来的路径名*/
	CHAR NewPathName[1024];/*我要要设置的路径名称*/
	//LPTSTR OLD[1024] = oldPathName[1024]
	GetModuleFileName(NULL,oldPathName,1024);/*获取当前程序的路径*/
	strcpy(NewPathName, oldPathName);/*将参数2的内容空间的值拷贝道参数*/
	/*DWORD就是无符号的INT*/
	for (size_t i = strlen(oldPathName); i > 0; i--)
	{
		if (NewPathName[i-1] == '\\')/*第一个\是转义符*/
		{
			NewPathName[i] = 0;/*删除最后的字符串*/
			strcat(NewPathName, ExeName);
			break;
		}
	}
	CHAR 命令符[MAXBYTE] = { 0 };
	strcat(命令符,"del/f/q\"");
	strcat(命令符, NewPathName);
	strcat(命令符, "\">nul 2>nul");

	system(命令符);
	
	rename(oldPathName, NewPathName);//把老的路径设置为新的路径

	HWND PrinUI = GetConsoleWindow();/*获取当前调试窗口的窗口句柄*/

	SetWindowPos(PrinUI, 0, 0, 0, UIWide, UIHigh, SWP_NOMOVE);
	SetWindowPos(PrinUI, 0, X坐标, Y坐标, UIWide, UIHigh, SWP_NOMOVE);

	std::wcout.imbue(std::locale("CHS"));/*让wcout输出中文*/
}



//exe应用程序
int _tmain(int argc, _TCHAR* argv[])
//int main()
{
	PrintUI("我的程序.exe", "WYWINDOW", "color 09", 500, 500, 300, 300);
	printf("你好,hello\r\n");
	
	//开始愉快地写代码
	
	Sleep(2000);

}

#pragma once
#include<stdio.h>
#include <tchar.h>
#include<iostream>
#include <Windows.h>
#include <algorithm>
#include <cstdint>
#include <functional>
#include <list>
#include <map>
#include <set>
#include <string>
#include <vector>
#include<cstring>

// C
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>

#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>
#endif

// C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>

#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif

#include "预编译.h"

上述三个代码分别是主函数,预编译头文件,预编译文件

结果如下::

数据类型和指针


	//数据类型
	/*短整型(short)占两个字节,int占用4个字节,long long占用八个字节*/
	/*-32768--32767*/
	SHORT 变量名 = 20;
	__int16 D_int16;/*这个和short一样,也是占用两个字节*/
	
	/*无符号整形 0-65534*/
	USHORT D_USHORT;
	unsigned __int16 D_unsigned_int16;
	WORD D_WORD;

	/*长整型-2147483648到2147483647*/
	__int32 D_int32;
	int D_int;
	long D_long;

	/*无符号长整型0-4294967295*/
	unsigned int D_unsigned_int;
	unsigned long D_unsigned_long;
	unsigned __int32 D_unsigned_int32;
	DWORD D_DWORD;
	DWORD32 D_DWORD32;
	size_t D_size_t;
	ULONG D_ULONG;

	/*超长整形*/
	/*-9223372036854775808-9223372036854775807*/
	long long D_longlong;
	__int64 D_int64;/*一个字节占8位*/
	LONG64 D_LONG64;

	/*无符超长整形*/
	ULONG64 D_ULONG64;
	DWORD64 D_WORD64;
	unsigned long long D_unsigned_longlong;
	unsigned __int64 D_unsigned__int64;

	/*单字节类型-128  127   0-255*/
	__int8 D_int8;
	CHAR D_char;/*ASCII*/


	/*无符号单字节0-255*/
	BYTE D_BYTE;
	UCHAR D_UCAHR;

	/*双字节*/
	WCHAR D_WCHAR;  /*UNICODE*/
	wchar_t D_wchar_t;
	TCHAR D_TCHAR;/*自适应字节*/
	/*尽可能少用空间*/

	/*小数*/
	FLOAT D_FLOAT;
	DOUBLE D_DOUBLE;

	/*自适应长度*/
	DWORD_PTR D_DWORD_PTR;
	printf("%d\n", sizeof(DWORD_PTR));
	
	char str[] = "abcdefg";/*占用了8个字节*/
	
	printf("%d\n", str[0]);
	char a = 97;/*ASCII*/
	printf("%c\n", a);


	/*指针*/
	/*指针就是一个数据类型*/
	/*这个数据类型的值是地址*/
	/*二级指针*/
	/*也是一个数据类型*/
	/*他表示一级指针的地址*/

	//cout << &D_FLOAT << endl;
	//PVOID 指针 = (PVOID)0x00CFFB0C;

	//int 指针 = (int)&D_FLOAT;
	D_FLOAT = 1.2484;
	FLOAT* 指针 = &D_FLOAT;
	cout << *指针 << endl;
	/*VOID* 指针 = &D_FLOAT;
	FLOAT* 指针 = &D_FLOAT;
	char* 指针 = (CHAR*)&D_FLOAT;*/

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值