C.语言数组范围问题?数组的大小可不可以不在开始时定义,或者在程
数组的大小可不可以不在开始时定义,或者在中再重新定义其范围,也就是数组的范围是否可以在程序中任意改变? 如:int a[8] 变成int a[6] 或者 a[9] . 如果可以请问该如何才能办到?!
C语言里面的动态数组可以用指针来做。定义int* a; a=(int*)(malloc(sizeof(int) * n)); 当中n为你想要的值。之后这个指针a就可以当数组去取值a[0],a[n-1]。 但是如果想从9变6的话,需要另外建立一个动态数组b,把a数组数据拷贝,释放a。 再生成一个a,把b数据给a,释放b。 如果在c#或java里面,可以省略释放步骤,不过建立临时数组步骤不可以省略。