A. 簡單C語言怎麼製作動態程序
如果不用圖形庫之類的也是可以實現的。
就是利用ansi轉義序列,記錄游標位置之後將「→」向前移動,之後恢復游標位置,最後列印出來的效果就是「→」再向前移動。
箭頭的移動:通過循環把→復制到一個數組成員,下一次循環中,給這個數組成員(裡面是箭頭)賦一個空格,而下一個數組成員賦箭頭。
如有不懂,還請追問。
B. 如何用C語言做自動動態存儲數據
這個方法是有的。
(註:一般用結構體判斷,所以下面的解釋都是結構體型的。首先說明,我定義了一個結構體
struct stu{ char ch[maxlen];struct stu *next;};)
首先聲明頭文件malloc.h,即#included<malloc.h>
隨後使用動態內存分配, 比如int *p;p=(struct stu*)malloc(sizeof(struct stu*) * m)。
-------以上是開辟內存單元
-------------------------------------------
接下來說說如何擴充內存單元
你講:「如何用C語言做自動動態存儲數據」,其實所謂的「自動動態存儲數據」,關鍵是2點
1、怎麼動態存儲
2、怎麼在存儲單元不夠用時擴充。
對於第1個問題,用鏈式結構就好了,這很簡單,具體看看有關於介紹鏈表的書就好。不推薦《數據結構》,推薦《演算法與數據結構》或《數據結構與演算法分析》。
針對第2個問題,由於不知道你水平如何,所以現在只提一種簡單有效的方法,那就是用if()語句做判斷,例如前面的*p:if(p==NULL)
{ p2=(struct stu*)malloc(sizeof(struct stu*) * m*2);//<-內存擴大兩倍
p->ch[maxlen]=p2->ch[maxlen];
}
這樣就好了。(注意:maxlen這里在具體實現代碼時要變。)
如果你覺得我的描述有點簡單,咱們還可以繼續討論。如果覺得難了點,那你真的要好好了解數據結構與演算法之間的關系了。
加油吧朋友!!!!!!!