易截截图软件、单文件、免安装、纯绿色、仅160KB

C指针小结

1、二维指针的用法说明
a[i]从形式上看是a数组中的第i个元素。
如果a是一维数组,则a[i]代表a数组第i个元素所占的内存单元的内容。a[i]是有物理地址的,是占内存单元的。
但如果a是二维数组,则a[i]是代表一维数组名。它只是一个地址(如同一维数组名只是一个指针常量一样)。a,a+i,a[i], *(a+i), *(a+i)+j, a[i]+j都是地址。*(a[i]+j)和*(*(a+i)+j)是二维数组元素a[i][j]的值。
举例说明:
int a[3][4] = {1, 2, 3 };
a,*a; 第0行首地址和0行0列元素地址
a[0],*(a+0); 第0行0列元素地址
&a[0],&a[0][0];第0行元素首地址和0行0列元素地址
a[1],a+1; 第1行0列元素地址和1行首地址
&a[1][0],*(a+1)+0; 1列0行元素地址
a[2],*(a+2);2行0列元素地址
&a[2],a+2;第2行元素首地址
a[1][0],*(*(a+1)+0);第1行0列元素的值。
int a[2][3] = { 177, 19, 23, 10, 15, 6 };
int **  p;
p = (int **)a;
printf("*p = %d\n", *p); //177
printf("*(p+1)=%d\n", *(p + 1));//19
printf("*p + 1 = %d\n", *p + 1); //177+sizeof(int),因为*p是指针,+1此时指针下移一个位置。
2、除了多维指针外,比较容易混淆的还有:
[1]指针常量与常量指针。
指针常量是指针是常量,但其指向的数据可变。而常量指针则是指针指向的数据不可变,而指针本身可变。声明的方式分别是:
指针常量:Type * const pointer;
常量指针:const Type *pointer; 或者Type const* pointer;
[2]函数指针和指针函数
函数指针:指向函数的指针,可以指向一个函数;指针函数:返回指针的函数;声明的方式是:
函数指针:Type (*p)(形参列表); 例如:
int func(int x);  /* 声明一个函数 */
int (*f) (int x); /* 声明一个函数指针 */
f=func;           /* 将func函数的首地址赋给指针f */
指针函数: Type *function(形参列表);
指针函数比较简单,但是要注意不要返回局部变量的地址,否则局部变量析构,导致指针悬挂。如果函数内部有分配空间,调用者需要负责回收资源。例如:
int *function()
{
    int data[3] = { 1, 2, 3 };
    return data;
}
[3]指向数组的指针和指针数组
指向数组的指针:<类型说明符>(*<指针名>)[<大小>]
指针数组:<类型名>*<数组名>[<大小>]
int (*pa)[2];//pa是一个


相关文档:

C Runtime Library 理解

以下摘自《edyang 语录》:
记住一个人,最重要的是记住他/她/它是男人/女人/东东,有没有贬过,有没有吻过,有没有咬过,名字记不住反而关紧要。 
C Runtime Library 
  大家在学过C++之后,可能对C Runtime Library这个名字有一定的误会,可能认为是运行时库是动态链接的,其实不然,想想C语言其实没有 ......

C/C++发展历史简单介绍

 C语言之所以要起名为“C”,是因为它是主要参考那个时候的一门叫B的语言,它的设计者认为C语言是B语言的进步,所以就起名为C语言;但是B语言并不是因为之前还有个A语言,而是B语言的作者为了纪念他的妻子,他的妻子的第一个字母是B;
    当C语言发展到顶峰的时刻,出现了一个版本叫C with ......

C/C++格式化字符串说明(转)

 原文地址:http://www.henryxu.com/post/1.html
C++的格式化字符串经常用作格式化数字的输出、字符串合并和转换等等很多场合。
 
1. 格式化规定符
━━━━━━━━━━━━━━━━━━━━━━━━━━
   符号            &nbs ......

GPS 载噪比 C/N , C/No的含义与区别


各位大哥,有清楚GPS接收灵敏度的指标---载噪比C/N, C/No的有何含义,两者有何区别,可以在这里讨论一下。
C/No=10* Log(C/KTB)﹐不包括天線到Correlator的PATH LOSS及LNA等線路引進的噪音﹔而C/N則包括一切噪音。
 
C是指信號強度﹐K是指波爾&# ......

Java调用C/C++ – JNI

昨天才看到,但是遇到一些问题,今天解决了,记下……(参考:http://netbeans.org/kb/55/beginning-jni-part1.html)
我用的是Netbeans 6.7,但是和其他的也应该大同小异吧。 基本流程: Java这边的:
创建java文件(带native的),还要记得在类中加入:System.loadLibrary(xxx) 。
然后用javah来生成C/ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号