C语言中的零长度数组用法详解
    在C语言中允许在结构体和联合体中定义零长度的数组,写法可以是以下两种:
char p[]或者char p[0],这个数组定义在结构体或者联合体中,不占用空间大小。
这是个广泛使用的常见技巧,常用来构成缓冲区。比起指针,用空数组有这样的优势:  
1.不需要初始化,数组名直接就是所在的偏移;  
2.不占任何空间,指针需要占用int长度空间,空数组不占...
                            
                            
                                分类:
编程语言   时间:
2014-09-21 03:12:19   
                                阅读次数:
240
                             
                         
                    
                        
                            
                            
                                在一个从Java源码编译到JVM字节码的编译器(如javac、ECJ)里,一个“编译单元”(CompilationUnit)指的是一个Java源文件。而在Dalvik VM的JIT里也有一个结构体名为“CompilationUnit”,这个千万不能跟Java源码级的编译单元弄混了——它在这里指的就是...
                            
                            
                                分类:
其他好文   时间:
2014-09-21 02:59:59   
                                阅读次数:
320
                             
                         
                    
                        
                            
                            
                                1.在定义类的赋值描述符成员函数时,有以下几点要注意:1)判断是否是自己赋值给自己2)返回值是const类的引用(为了连续赋值)3)参数是const类的引用4)如果数据成员中有指针,注意要深拷贝,且要释放之前指针指向的内存。2.类的拷贝构造函数,一定不能使用该类型的变量做参数,会无法通过编译的。因为...
                            
                            
                                分类:
其他好文   时间:
2014-09-21 00:37:29   
                                阅读次数:
334
                             
                         
                    
                        
                            
                            
                                题目大意:给出一棵树,和它上面每个点的初始颜色。有两种操作,1:求从x到y一共有多少段颜色(连续相同的颜色算一个颜色段)。2:把x到y路径上都染色成z。
思路:是一棵树,求LCA路径,迅速想到树链剖分。难点是维护区间合并问题。线段树上的区间合并很常规,正常做就可以,注意一下在从一个重链上跳到另一个重链的时候的区间合并。有两种解决方案。1:在线段树中询问的时候返回一个结构体,里面存着左边颜...
                            
                            
                                分类:
其他好文   时间:
2014-09-20 14:38:48   
                                阅读次数:
317
                             
                         
                    
                        
                            
                            
                                【1】结构体作为输入输出参数
C++代码:
typedef struct _testStru1
{
	int		iVal;
	char	cVal;
	__int64 llVal;
}testStru1;EXPORTDLL_API void Struct_Change( testStru1 *pStru )
{
	if (NULL == pStru)
	{
		return;
	}...
                            
                            
                                分类:
编程语言   时间:
2014-09-20 14:09:57   
                                阅读次数:
324
                             
                         
                    
                        
                            
                            
                                【1】结构体中含有内置数据类型的一维数组
C++代码:
typedef struct _testStru3
{
	int		iValArrp[30];
	WCHAR	szChArr[30];
}testStru3;EXPORTDLL_API void Struct_ChangeArr( testStru3 *pStru )
{
	if (NULL == pStru)
	{
		retu...
                            
                            
                                分类:
编程语言   时间:
2014-09-20 14:09:47   
                                阅读次数:
252
                             
                         
                    
                        
                            
                            
                                【1】内存对齐方式
C++代码:
#pragma pack(push)
#pragma pack(1)
typedef struct _testStru2
{
	int		iVal;
	char	cVal;
	__int64 llVal;
}testStru2;
#pragma pack(pop)EXPORTDLL_API void Struct_PackN( testStru2 *p...
                            
                            
                                分类:
编程语言   时间:
2014-09-20 14:09:17   
                                阅读次数:
235
                             
                         
                    
                        
                            
                            
                                普通的结构体嵌套很简单,C#中直接定义成对应的结构体即可,这里介绍的是嵌套的结构体以指针的方式表达
【1】嵌套结构体指针
C++代码:
typedef struct _testStru10Pre
{	
	int  iVal;
}testStru10Pre;
typedef struct _testStru10
{	
	testStru10Pre *pPre;
	long		 ...
                            
                            
                                分类:
编程语言   时间:
2014-09-20 14:08:37   
                                阅读次数:
300
                             
                         
                    
                        
                            
                            
                                创建视图UIView*view=[[UIViewalloc]initWithFrame:CGRectMake(220,100,100,100)];view.backgroundColor=[UIColorgreenColor];[self.windowaddSubview:view];[viewrelease];view1.centercenter属性获取视图的中心点.NSStringFromCGPoint将一个CGPoint类型的结构体变量转为字符..
                            
                            
                                分类:
其他好文   时间:
2014-09-20 02:27:16   
                                阅读次数:
160
                             
                         
                    
                        
                            
                            
                                这一章讲的是光照。光照(lighting)是Direct3D中非常重要的概念,而与之相对应的是材质(material)的概念。如果没有材质的话,那么光照的作用也无法体现。
        在较早一些的关于DirectX 9的编程入门书籍里,一般是使用D3DLIGHT9结构体来建立一个光源,而用D3DMATERIAL9结构体来定义物体的材质。我们要做的就是一些很琐碎的家务活,基本上就是创建这些结构...
                            
                            
                                分类:
其他好文   时间:
2014-09-20 01:10:56   
                                阅读次数:
371