这里别的先不说,先说一下char linestop = linestor + MAXSTOR;
这个之前有个很重要的概念我没记住,char linestop 就是声明一个指针是指向字符类型的,这点很重要, 不用觉得linestop就是指针linestop所指的内容,这里是定义还没到操作的时候。然后指针也是可以初始化的,有效的初始化就是其他地址。而linestor就是一个地址。这个地址是可以和整数进行运算的。得到的就是另一个地址。也就是linestor连续MAXSTOR个存储空间的地址。这里就将这个地址给了指针linestop。
在声明之后就可以直接将地址赋值给指针了,前面不用加,因为加了以后会变成指针所指的对象。
然后就是那个p = linestor;
这个是初始化指针p将他指向linestor的首字符。
但是linestor+MAXSTOR这个数组大小好像只有5000?
首先还是读取输入行,并将输入行的大小给len。
然后判断是否满足条件,输入行数是否大于限定,大小是否超过限定(这个限定很容易超,这里也就是举个例子)。
然后是满足条件的操作。
把输入行变成独立的行(将换行符变成结束符)。
将输入行拷贝到p。
将p的指针保存到指针数组中。
将指针p(这个p是在linestop中的位置)向前移输入行的长度。
网友评论