2019年10月15日

“二维数组”?

摘要: 首先说明C中是不存在所谓的“多维数组”的。 int array[a][b];声明的是一个有a个元素的数组,每个数组元素是一个含b个元素的数组。 上述声明正确的说法是,数组的数组。 如果给函数传递一个“数组的数组”,应这样声明: void func(int array[][b]); 或者干脆 void func(int array[a][b]); 实际上传递的是指针,指向数组的指针,即 void f... 阅读全文

posted @ 2019-10-15 16:44 freshair_cn 阅读(130) 评论(0) 推荐(0) 编辑

数组名与指向数组的指针

摘要: 数组名就是指向数组的指针吗?当然不是的。 数组名是“指向数组初始元素的指针”。 “指向数组的指针”应这样定义: int (*array_p)[3]; 如果有数组 int array[3]; ,那么 array_p = &array; 是没有问题的,因为类型相同。但是,如果 array_p = array; 是不可以的。”指向int的指针”与”指向int数组的指针”是不同的。 从地址角度看,两者指向... 阅读全文

posted @ 2019-10-15 16:10 freshair_cn 阅读(818) 评论(0) 推荐(0) 编辑

如何实现带可变长参数的函数

摘要: 关于如何实现带可变长参数的函数,先看这两篇文章。 https://www.ibm.com/developerworks/cn/linux/l-va/index.html 以及 https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/va-arg-va-copy-va-end-va-start?view=vs-2019 统称带... 阅读全文

posted @ 2019-10-15 11:28 freshair_cn 阅读(512) 评论(0) 推荐(0) 编辑

导航