C和C++语言学习总结(一)(3)
if,for,switch,goto #define,const 文件拷贝的代码,动态生成内存函数参数传递,内存分配方式,内存错误表现,malloc与new区别……
并不表示
if ((a 而是成了令人费解的
if ( (a memcpy代码
void* memcpy(char* strDest,const char* strSrc,size_t size)
{
if(strDest==NULL||strSrc==NULL) return NULL;
if(size <=0) return NULL;
char* pStr=strDest;
while(size-->0)
*strDest++=*strSrc++;
return pStr;
}
sizeof:
i.在32位操作系统中,基本数据类型
类型 字节长度
char 1
short 2
short int 2
signed short 2
unsigned short 2
int 4
long int 4
signed int 4
unsigned int(unsigned) 4
long 4
unsigned long 4
float 4
double 8
void* 4 (所有指针类型长度都一样)(char*,int*,float*,double*)
enum 4
ii.在32位操作系统中,定义或函数中的大小
char a[]="hello";
char b[100];
char *p=a;
类型 字节长度
sizeof(a) 6
sizeof(b) 100
sizeof(p) 4
void Func(char a[100])
{
sizeof(a); //4
}
#pragma pack(1)
struct A
{
int i;
char j;
};
sizeof(A) //5
#pragma pack(1)
struct A
{
int o;
int j;
union
{
int i[10],j,k;
};
};
sizeof(A) //48
#pragma pack(1)
struct A
{
enum day{monring, moon, aftermoon};
};
sizeof(A) //1
sizeof(A::day) //4
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/