发布网友
共1个回答
热心网友
你可以先定义一个全局指针变量(如果要求整型数组的话就是int* a,字符型就是char* a等),指针你可以把它理解成数组int a[],这里数组a就相当于int*a,但这时指针还没有分配内存空间,只要分配了就相当于数组,但比数组的优势在于可以动态定义长度,如果分配了空间之后a中存储的值就是分配的空间的位置 ,比如分配空间后a中值为2000,表明它指向2000这个位置,由于是全局变量,因此函数执行完,a也不会消失,因此一直都有a=2000(除非在函数中被重新分配了空间)
再分配内存区域,用new函数,比如整型指针,就用语句a=new int[n+1],就相当于此时已经定义了数组a[n+1],后面的操作可以就相当于有了a[n+1]该怎么用就怎么用最后当你把数组使用完毕后,要释放掉内存空间,免得空间浪费,用delete释放掉内存空间,以后在想给a分配空间再用new分配就好了追问解释很详细,多谢了追答我直接说L[m][n]吧。首先定义一个指针变量int **a,然后分配空间a=new int*[m],此时表明给a分配了m个内存空间,你在看这个空间分配是int *,表明这m个内存空间都应该对应指针变量,但要注意此时只有a指向了一个内存区域,但这m个指针还未分配,因此还应用一个循环for(i=0;i,然后定义vectora,括号里面应该是数组你要存放的数据类型,如果你要定义一个字符型的数组a[10],就把int改为char就好了,此时用a.insert(pos,elem)表明在pos位置插入一个elem的数据,如果是a.insert(pos,n,elem)表明插入n个elem的拷贝,在使用这个容器的时候,不用声明数组长度,系统会根据实际情况进行调整,关于vector的相关函数有很多,你可以自己百度看看