9 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 },
10 { 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 },
11 { 1000, 1001 , 1002, 1003, 1004 , 1005, 1006, 1007, 1008, 1009}
18 void ctorArrObject(struct ArrObject *pThis, int i) {
22 void f(struct ArrObject *pThis) {
23 printf("num is %d\n", pThis->num);
26 static void pass_array_test(struct ArrObject *a, int a_len)
30 for(i = 0; i < a_len; i++) {
35 #define length(a) (sizeof(a)/sizeof((a)[0]))
37 int main(int argc, char *argv[]) {
39 struct ArrObject ao[10];
40 struct Arr2Object a2o[2];
43 for(i = 0; i < length(ao); i++)
44 ctorArrObject(&ao[i], i);
46 for(i = 0; i < 10; i++) {
50 pass_array_test(ao, length(ao));
52 for(i = 0; i < length(a2o); i++)
53 memcpy(&a2o[i], &arr_init, sizeof(arr_init));
55 for(i = 0; i < length(a2o[0].a); i++) {
56 memcpy(&a2, &a2o[0], sizeof(a2));
63 printf("length(a2o[0].a) = %d\n", length(a2o[0].a));
64 for(i = 0; i < length(a2o[0].a); i++) {
65 printf("%d\n", a2o[0].a[i]);
68 printf("length(a2o[1].a) = %d\n", length(a2o[1].a));
69 for(i = 0; i < length(a2o[1].a); i++) {
70 printf("%d\n", a2o[1].a[i]);
73 printf("length(a2o[0].b) = %d\n", length(a2o[0].b));
74 for(i = 0; i < length(a2o[0].b); i++) {
75 memcpy(&a2, &a2o[0], sizeof(a2));
80 printf("inrom 0 .. 9:\n");
81 for(i = 0; i < 10; i++) {
82 printf("%d\n", arr_init.inrom[i]);