一江春水向東流

          做一個有思想的人,期待與每一位熱愛思考的人交流,您的關注是對我最大的支持。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks

          二維數組的傳參
          二級數組傳遞參數時,不能以一個二級指針的方式,以二級指針的方式只傳遞了這個二級數組的首地址,但沒有帶出這個二維數組各元素的地址,編譯器不能通過二級指針的移動尋找其元素。對于二級數組要用數組指針的形式傳參

          #include <stdio.h>
          void print_arr (char (*a)[4])
          {
          ??? int i;
          ??? for(i = 0; i < 3; i++)
          ??? printf("%s\n", a[i]);
          }

          int main()
          {
          ??? char *str_arr[3][4] = {"yes", "no", "uncertain"};
          ??? print_arr (str_arr);
          ??? return 0;
          }

          如果要以二級指針的形式傳參,可以在定義為字符串指針數組的形式
          char *str_arr[] = {"yes", "no", "uncertain"};
          void print_arr (char **a)
          {
          ??? int i;
          ??? for (i=0; i<3;i++)
          ??? printf("%s\n", *(a+1));
          }

          posted on 2008-03-23 10:02 allic 閱讀(4961) 評論(2)  編輯  收藏 所屬分類: C/C++

          評論

          # re: 二維數組傳遞參數 2008-10-01 21:45 boo
          int main()
          {
          char *str_arr[3][4] = {"yes", "no", "uncertain"};
          print_arr (str_arr);
          return 0;
          }

          這一段,char *str_arr[3][4] = {"yes", "no", "uncertain"};
          是不是要寫成char str_arr[3][10] = {"yes", "no", "uncertain"};

          void print_arr (char (*a)[4]) 也要改成void print_arr (char (*a)[10])

            回復  更多評論
            

          # re: 二維數組傳遞參數[未登錄] 2012-10-22 21:26 111
          這博主估計就是抄過來的,他現在都不一定知道哦?。?#64;boo
            回復  更多評論
            

          主站蜘蛛池模板: 邢台县| 武强县| 始兴县| 施甸县| 绥阳县| 河西区| 靖西县| 中牟县| 桐乡市| 尚志市| 德安县| 防城港市| 萨迦县| 集安市| 四会市| 亚东县| 西昌市| 常宁市| 屯昌县| 桂东县| 永新县| 青川县| 韶关市| 锡林郭勒盟| 沙坪坝区| 中江县| 潜山县| 霸州市| 吉隆县| 项城市| 论坛| 东阿县| 杭锦旗| 冕宁县| 涞源县| 五指山市| 阳城县| 启东市| 兰坪| 镇宁| 运城市|