C语言二维数组与指针综合应用有关问题(内存异常)

C语言二维数组与指针综合应用问题(内存错误)求助
在做四则运算计算器时,在字符串处理时出了问题,一直都是内存错误,所以我就专门重新写了一个程序来研究这个问题,可是研究了很久,也在网上找遍了方法,这个问题凭我自己还是无法解决(学校教C语言是为了给我们学习C#打基础,教的不深入,可是我想学好C语言,但是现在,指针与数组的综合应用就有点儿吃力了,问题实在没法解决,故来求助)。C语言二维数组与指针综合应用有关问题(内存异常)C语言二维数组与指针综合应用有关问题(内存异常)
C语言 二维数组 指针

------解决方案--------------------
仔细检查 pointer (是否初始化) / array (是否越界)
------解决方案--------------------
崩溃有两个错误:
1. str_ch 中的 newsc 没有初始化就使用, 第一句改成 static struct retarr *newsc = (struct retarr*)malloc(sizeof(struct retarr));
2. main 中的 printf("%d:\t%s\t%c\n",i,(pointer->rs)[i],(pointer->rc)[i]); 里面 (pointer->rs)[i] 是一个 char, 不是 char* 了, 用 %s 输出不行, 改成 %c
------解决方案--------------------
newsc指针没有被初始化,指向的结构没有分配内存。
static struct retarr *newsc=(retarr *)malloc(sizeof(retarr));

struct retarr *pointer;这句也应当这样处理。
最后应该加上free语句。