ubuntu,debian,redhat,fedora,centos

C语言中几种指针的指针用法

分类:C/C++1、 简单来说 int **p 是一个指向2维数组的指针。
数学上一个2维数组描述有NR行,NC列的矩阵,例如 int a[NR][NC];
为了使程序有通用性,编程时不把这个数组行列数定死,而让使用者临时输入行列数,再动态分配数组存放单元,这时,我们声明一个2维数组的指针(或叫二重指针)。

  1. int NR,NC;
  2. int **a;
  3. int i,j;
  4.  
  5. // 假定键盘输入 NR=5,NC=3,动态分配数组:
  6. a = (int **) malloc(sizeof(int *) * NR);
  7. for (j=0;j<nr ;j++) a[j] = (int *) malloc(sizeof(int) * NC);

继续阅读 »

排序与查找函数(qsort,bsearch,alphasort)

分类:C/C++qsort函数声明如下:

  1. void qsort(void *base, size_t nmemb, size_t size,
  2.                   int(*compar)(const void *, const void *));

参数说明如下:
base: 要排序的数组
nmemb: 数组中的元素数目 sizeof(array)/sizeof(array[0])
size: 每个数组元素占用内存空间,可使用sizeof(array[0])获得
compar: 比较两个数组元素的比较函数。本比较函数的第一个参数值小于、等于、大于第二参数值时,本比较函数的返回值应分别小于、等于、大于零。

继续阅读 »

常用C自定义函数集

分类:C/C++

  1. //1.字符串大小写转换函数
  2. char * ConversionString(char* _pDest, const char * _pSrc, int _nFlag);
  3. //2.将字符串转换为整数
  4. int CharToInt(const char* _pStr);
  5. //3.将字符串转换成数字
  6. double CharToDouble(const char* str);
  7. //4.将整型数字转换为字符串,(正负数都可以)
  8. char * IntToChar(char* pDestStr, int nSrcNum);
  9. //5.将浮点型数字转换为字符串,(正负数都可以)
  10. char * DoubleToChar(char* pDestStr, double dSrcNum);
  11. //6.将字符串形式表示的 IP 转换为一个整数
  12. int CharToIp(const char* _pchIP);
  13. //7.将一个整数转换为一个IP字符串
  14. char * IpToChar(const int nIP, char * _pchStrIP);
  15. //8.将字符串 pStr 中所有的 ch字符过滤掉
  16. char * StringFilter(char * pStr, const char ch);
  17. //9.字符串替换函数, 在字符串 _pSrc 中查找 _pKey 串,并将其替换成 _pReplace 串
  18. char * StringReplace(char* _pDest, const char* _pSrc, const char* _pKey, const char* _pReplace);
  19. //10.从字符串 _PSrc 中查找 _Pkey, 如果找到,返回第一个找到的地址
  20. char * StringFind(char* _pSrc, const char* _pKey);
  21. //11.测试字符串是否是一个数字串
  22. int IsNumberString(const char* _pStr);
  23. //12.将字符串 _pchSrc 到序反转
  24. char * StringReverse(char* _pchDest, const char* _pchSrc);

继续阅读 »

查找指定字符串在另一字符串中的位置(strpos)

分类:C/C++

  1. #include "stdio.h"
  2. int main()
  3. {
  4.      char* str = "linuxany.com";
  5.      printf("pos1:%d\n",strpos(str,"any",1));
  6.      printf("pos2:%d\n",strpos(str,"n",2));
  7.      return 0;
  8. }
  9. //函数定义:取字符串位置,中文作为一个字符计算

继续阅读 »

测量/计算程序运行时间

分类:C/C++C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:

clock_t clock( void );

这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:

  1. #ifndef _CLOCK_T_DEFINED
  2. typedef long clock_t;
  3. #define _CLOCK_T_DEFINED
  4. #endif

继续阅读 »

返回顶部