《C专家编程》撷取了几十个实例,细致、深入地讲解了C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及分析了如何进一步学习C++等问题。 本书是一本ANSI C编程语言的高级读本。它适用于已经编写过C程序的人,以及那些想迅速获取一些专家观点和技巧的人。 专家级的C编程指南展示优秀C程序员的编程技巧。 即使你读过Andy Koneig的《C陷阱与缺陷》,你还是应该看看Peter Van Der Linden的书。我想,他们两人的书称都应该千方百计的搞到,如获至宝地捧读。如果我是你的上司,
原则:
1、锯齿数组首先是二维数组,第一维的维数是确定的
2、之所以在C#中能够出现灵活的锯齿数组,是因为,C#的数组是引用类型(本质上存放的是指针)
根据这个引用类型(指针)的概念,C++中用指针数组同样可以实现
C#中:
class A{}
int szA[][] = new int[3][];
szA[0] = new int[2];
szA[1] = new int[6];
szA[2] = new int[3];
当然此时实际的各个数组元素(整形变量)尚未初始化值,C#不允许使用未经初
int *p[3]与int (*p)[3]的区别*p[3]这个是一个指针数组,它所代表的意思是数组中的每一个元素都是一个指针变量,而(*p)[3],p是一个指针变量,表示指向一个含有3个整型元素的一维数组。 代码如下:int i,j; int a[2][3]={3,4,5,6,7,8}; // int *p[3] ; //表示一个数组,数组中的元素是指针类型,一共有三个元素 int (*q)[3]; //是一个指针,指向一个含有三个int型的数组(q+1)会跳三个数组元素