摘要:
1、 整型 Long long long int short 整数范围(十进制) 16位机64 32 16 16 -32768~32767 32位机64 32 32 16-2147483648~2147483646 64位机6432 32 16 -9223372036854775808~.. 其他:unsigned long long unsigned long unsigned unsigned short2、 输出(1) 整型%d :int型 %u 无符号int %ld long型 %lu 无符号long %hd short型 %lld long long型(某些编译器不支持)(2)数制输 阅读全文
摘要:
一、什么是对齐,以及为什么要对齐: 1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况, 但是最常见的是如果不按照适合其平台的要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为 32位... 阅读全文
摘要:
一、struct的巨大作用面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样用struct是区别一个开发人员是否具备丰富开发经历的标志在网络协议、通信控制、嵌入式系统的C/C++编程中,我们经常要传送的不是简单的字节流(char型数组),而是多种数据组合起来的一个整体,其表现形式是一个结构体。 经验不足的开发人员往往将所有需要传送的内容依顺序保存在char型数组中,. 阅读全文
摘要:
1.预编译指令01) # 空指令,无任何效果02) #include 包含一个源代码文件03) #define 定义宏 04) #undef 取消已定义的宏05) #if 如果给定条件为真,则编译下面代码 06) #else 作为其他预处理的剩余选项进行编译07) #ifdef 如果宏已经定义,则编译下面代码08) #ifndef 如果宏没有定义,则编译下面代码09) #elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码10) #endif 结束一个#if……#else条件编译块 11) #line 改变当前的行数和文件名称 12) #pragma 为编译程序提供非常规.. 阅读全文
摘要:
转载:C语言中的字符串C语言中提供了两种字符类型char和wchar_t,C语言使用字符数组来表示字符串,同时支持两种直接量写法:"abcd"和 L"abcd" 来表示字符串常量文字量,C语言允许用字符串常量来初始化字符串。标准C函数库提供了printf和wprintf两个版本的输出函数。C代码 #include<stdio.h> intmain(){ charstr[]="abcd"; wchar_twstr[]=L"abcd数学"; printf("%s\n",str); wpr 阅读全文
摘要:
UpdateData,顾名思义,是用来刷新数据的。UpdateData(TRUE) -- 刷新控件的值到对应的变量UpdateData(FALSE) -- 拷贝变量值到控件显示。例如窗口中用 DDX_Text(pDX, IDC_EDIT1, m_usercode); 将IDC_EDIT1编辑框控件与m_usercode变量做了关联,如果修改m_usercode之后要想对应控件显示更改,则需要调用UpdateData(FALSE);反之在IDC_EDIT1的oneditchanged()中需要加入UpdateData(TRUE);简单的说,如果Updatedata(TRUE) == 将控件的值赋 阅读全文
摘要:
指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。魔幻数组名请看程序(本文程序在WIN32平台下编译):Cpp代码 #include<iostream.h> intmain(intargc,char*argv[]) { charstr[10]; char*pStr=str; cout<<sizeof(str)<<endl; cout<<sizeof(pStr)<<endl; return0; }#include <iostream.h>int 阅读全文
摘要:
“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。“野指针”的成因主要有两种:1 指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。例如Cpp代码char*p=NULL; char*str=(char*)malloc(100);char *p = NULL;char *str = (char *) malloc(100);2 指针p被free或者 阅读全文