二维数组增添删除是不是只能一行或者一列操作c语言?

二维数组增添删除是不是只能一行或者一列操作c语言

删除数据可单个删(假删,你用指针标记不用即可),删除内存空间需按行列删(因为申请时每行就是相同大小的一维数组),二维数组在内存中就是连续地址的一维数组,列数表示了一行的跨度,所以我们定义二维数组行数可省略,列数不能省,具体增删是要看你数组如何定义:
一、如是直接定义的数组,不能改变已分配空间大小,故不能直接删除或增加数组行列。只能在已有的地址内,改变部分数据。比如已有10*10的二维数组,数组记录到第9行,那你用一个指针指向该行首地址,表示有9行数据。删除一行,指针移动到上一行首地址。
二、用malloc申请动态数组,那么用这种方法分配的二维数组空间,可用realloc改变大小。(注意malloc申请地址不会自动释放,除程序结束,否则需用free释放)。
温馨提示:答案为网友推荐,仅供参考
相似回答