pascal语言中函数怎样使用动态数组形式参数,以及返回动态数组运算结果?

解决方案 »

  1.   


    procedure test(var A: array of integer);数组返回根本没必要
    因为数组不能直接初使化, 比如int a[10]的原型是 int * const a 你不能 int b = a;
      

  2.   

    被谭浩强害了吧,数组是数组,指针是指针,把完全两个不同的东西说成一个动态数组不能直接做结果类型,但是可以先定义 TArrayType = array of T 然后返回 TArrayType 类型
      

  3.   


    type
      TMyArray = array of string;function(A:array of string)TMyArray;
      

  4.   

    又一个被谭害了的么?数组名就是一个变量名而已,说数组名是指针就跟说int a中的a是个指针一样可笑。指针是个变量,既然是变量它就要占用内存空间(比如win32长度为4字节)就会有地址,你先把“指向此数组的指针”的地址找出来再说
    谭自己就搞不懂数组变量名和指针,非要想当然的把两个东西说成一种;好像也是他老爱想当然的搞类似 i += i++ + i++ 之类在 c99/c++0x 中被定义为 undefined behavior 的东西以显示自己的“高明”。结果呢,许多小白到处问关于 undefined behavior 为什么和书上不一样的白痴问题,还有更多的半吊子码农到处宣扬 数组名=指针