1、 简单来说 int **p 是一个指向2维数组的指针。
数学上一个2维数组描述有NR行,NC列的矩阵,例如 int a[NR][NC];
为了使程序有通用性,编程时不把这个数组行列数定死,而让使用者临时输入行列数,再动态分配数组存放单元,这时,我们声明一个2维数组的指针(或叫二重指针)。
- int NR,NC;
- int **a;
- int i,j;
-
- // 假定键盘输入 NR=5,NC=3,动态分配数组:
- a = (int **) malloc(sizeof(int *) * NR);
- for (j=0;j<nr ;j++) a[j] = (int *) malloc(sizeof(int) * NC);
继续阅读 »
qsort函数声明如下:
- void qsort(void *base, size_t nmemb, size_t size,
- int(*compar)(const void *, const void *));
参数说明如下:
base: 要排序的数组
nmemb: 数组中的元素数目 sizeof(array)/sizeof(array[0])
size: 每个数组元素占用内存空间,可使用sizeof(array[0])获得
compar: 比较两个数组元素的比较函数。本比较函数的第一个参数值小于、等于、大于第二参数值时,本比较函数的返回值应分别小于、等于、大于零。
继续阅读 »
C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:
clock_t clock( void );
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:
- #ifndef _CLOCK_T_DEFINED
- typedef long clock_t;
- #define _CLOCK_T_DEFINED
- #endif
继续阅读 »