typedef 定义数组类型用法
看到一条typedef语句,不明白其意义
1
| typedef Point devs_t[LOOP_MAX][DEVS_MAX];
|
1 2 3 4 5 6 7
| typedef int arrs[5]; typedef arrs * p_arr5; typedef p_arr5 arrp10[10]; arrs togs; // togs是具有5个元素的int数组 p_arr5 p2; // p2是一个指针,指向具有元素的数组 arrp10 ap; // ap是具有十个元素的指针数组,每个指针指向具有5个元素的int数组
|
1 2
| typedef Point devs_t[LOOP_MAX][DEVS_MAX]; dev_t dev; //dev是一个二位数组 数据类型是point,有LOOP_MAX * DEVS_MAX 个Point数组元素
|
写成函数格式,需要注意的是,当成为形参的时候,是一个指针
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #define LOOP_MAX 10 #define DEVS_MAX 10 typedef int devs_t[LOOP_MAX][DEVS_MAX]; dev_t dev; //dev是一个二位数组 数据类型是int,有LOOP_MAX * DEVS_MAX 个int数组元素
void test(devs_t dev) //这里的dev是一个指针 { //在这里修改dev的值,会修改全局变量dev的值 }
void main() { test(dev); //这里的test dev是一个指针,指向全部变量 dev,这里执行的不是拷贝,而是指针的指向 }
|
-------------本文结束 感谢阅读-------------