c/c++
文章平均质量分 64
坚强的猪
这个作者很懒,什么都没留下…
展开
-
二维数组 指向二维数组的指针 指针数组 指向二维数组的指针数组
1. 二维数组TYPE array[row][column];在定义时row可以不指定,但column必须指定。例如:int arr1[3][2]={{1,2},{3,4},{5,6}};等价于:int arr1[][2]={{1,2},{3,4},{5,6}};2.指向二维数组的指针:TYPE (*parray)[column];在定义时,colu原创 2012-12-06 09:54:48 · 2568 阅读 · 0 评论 -
理解指针
C语言之所以灵活,最重要的是因为有了指针。但是也是最容易出错的地方。要用好指针,首先要对指针有一个深入的了解。要理解指针,必须理解与之相关的三个要素(二个地址和一个指向的内容):1、指针本身:它是所指向的内容的地址,2、指针本身的地址: 指针也是一个变量,所以它也要有一个存储单元来存储,通常为4字节。3、指针指向的内容例如如下的代码:int a=101;int原创 2012-12-06 14:41:56 · 618 阅读 · 0 评论 -
宏定义与枚举
宏定义是在预编译时直接进行替换。而枚举值要在编译时才能确定其值。所以任何在宏定义中引用枚举值的操作都是错误的。在下面的代码中,编译输出为:TEST1=1, NUM1=111 TEST2=2,NUM2=222#include #include #define AAA (1)#define BBB (2)#define CCC (3)enum{ AA, BB原创 2012-12-06 19:17:56 · 1847 阅读 · 0 评论 -
二维数组作为函数参数传递时函数的声明
函数调用时通常会进行从数组的数组到数组的指针的隐式变换,并不会为二维数组分配空间,所以不需要二维数组的行数,但是数组的宽度仍然是重要的。#include #define ROW 3#define COLLUM 2//void fun(int arr[][COLLUM]) //ok//void fun(int arr[][]) /原创 2013-06-16 15:45:26 · 1159 阅读 · 0 评论 -
大小端 位域
小端 : 低位(LSB) 位于低地址大端 : 高位(MSB)位于低地址x86一般使用小端模式位域:typedef union { struct{ LiteU32 off : 26; LiteU32 w : 6; }; LiteU32 t;}test_t;位域的分配:》小端:从原创 2013-06-16 15:41:05 · 849 阅读 · 0 评论 -
跨平台软件开发相关事宜 (window vc++6.0 & linux)
1 变量声明的位置vc++6.0 不支持在代码中间声明变量。所以最好变量统一在函数的开始处统一进行声明。2 inline 关键字在vc++6.0下是__inline, 所以要修改工程属性,在project->[setting]->[c/c++]->Preprocessor definitions:编辑框里输入inline=__inline即可。3fatal error C1原创 2013-06-16 17:18:31 · 1112 阅读 · 0 评论 -
select超时
select 函数原型: int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);原创 2014-06-06 10:34:50 · 5943 阅读 · 0 评论