查看完整版本 : c語言的進階資料型態

go2074 2012-10-31 08:48 PM

c語言的進階資料型態

我睇書自學#C學到依個topic,即係enum,struct個d,進度慢左好多:smile_42: ,因為突然d野變得好復雜,之前d章節都係好易明,突然難好多咁,我想問師兄們要寫中大型程式係唔係最好全部學哂:smile_41: 定係可以只學部份重點,例如struct,enum依d基本野:smile_41:

星海揚帆 2012-10-31 11:20 PM

就咁睇書學無用(學唔成)
一定要有樣野寫下

go2074 2012-11-1 12:37 AM

回覆 2# 的帖子

我暫時都係邊學邊做書後d ex,等我學完d章節先搵d有趣專題做下

peter700 2012-11-1 12:28 PM

首先樓主的問題不應在這區發問.
不過上次曾給意見,就再答多一次.

不知你是問的是 C 還是 C#.
假設是問 C ,
基本課程的 C 是要學到 pointer.
我認為要學到 pointer to pointer 或 pointer to array 就足夠,
再多層次的 pointer 不是必要的.
pointer to function 不一定要學,
不能把pointer 掌控 自如的,在我眼中來說就是不會 C.

[[i] 本帖最後由 peter700 於 2012-11-1 12:53 PM 編輯 [/i]]

go2074 2012-11-1 06:10 PM

回覆 4# 的帖子

多謝你的意見,不過我真係問錯區咩:smile_41: linux環境既編程問題應該算係linux問題吧:smile_41:

go2074 2012-11-1 06:12 PM

回覆 4# 的帖子

學到pointer就夠?即係class,I/O個d都唔使識?

go2074 2012-11-1 06:35 PM

岩岩係程式設計區出左新post,師兄幫手睇下啦:smile_38:

mathfeel 2012-11-1 11:23 PM

[quote]原帖由 [i]go2074[/i] 於 2012-11-1 02:12 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=346383258&ptid=21070639][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
學到pointer就夠?即係class,I/O個d都唔使識? [/quote]
C冇class要學OOP可以學c++或objective c(另外我認爲了解OOP應該要了解Smalltalk)。其實struct也可以用來做類似class嘅abstraction。

I/O用stdio很簡單。除非你要做更低level嘅系統操作,咁你要去學冩file system。在Linux下你可以冩成fuse嘅插件來學習和實験。

C嘅精髓係不用辛苦地冩集合語言情況下儘量地接近machine level code。好嘅C programmer不單能冩好嘅算法。更重要嘅係要知道目標系統嘅集合語言,懂個compiler如何把你冩嘅c翻譯成集合語言。知道你嘅code在machine level嘅工作程序。到了machine language層次,基本上一切都是pointer...

星海揚帆 2012-11-3 12:15 AM

[quote]原帖由 [i]mathfeel[/i] 於 2012-11-1 23:23 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=346407273&ptid=21070639][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
C嘅精髓係不用辛苦地冩集合語言情況下儘量地接近machine level code。好嘅C programmer不單能冩好嘅算法。更重要嘅係要知道目標系統嘅集合語言,懂個compiler如何把你冩嘅c翻譯成集合語言。知道你嘅code在machine level嘅工作程序。到了machine language層次,基本上一切都是pointer...[/quote]

小弟以前都做過「集合語言」(assembly language)
基本上係好少用pointer

星海揚帆 2012-11-3 12:17 AM

[quote]原帖由 [i]peter700[/i] 於 2012-11-1 12:28 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=346359696&ptid=21070639][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
不能把pointer 掌控 自如的,在我眼中來說就是不會 C.[/quote]

其實pointer的作用只是一道逃生門
當無法使用其他數據結構時
仍然可以有方法做到要做的事

mathfeel 2012-11-3 06:06 AM

[quote]原帖由 [i]星海揚帆[/i] 於 2012-11-2 08:15 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=346491373&ptid=21070639][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


小弟以前都做過「集合語言」(assembly language)
基本上係好少用pointer [/quote]
要向memory讀冩都是靠其address。那基本上就是最常用嘅pointer。[code]MOV [address], ax[/code]另外stack pointer(ESP), base pointer(EBP)都係特殊用來keep track of stack嘅pointer register。例如你要call一個函數必須先保存舊嘅base pointer等function return之後可以從原地継續。當allocate和deallocate地區性variable嘅時候必須適當地增減stack pointer。

okvan 2012-11-3 08:55 AM

此Post請轉到下面討論
[url]http://admin.discuss.com.hk/viewthread.php?tid=21074571&highlight=[/url]
頁: [1]
查看完整版本: c語言的進階資料型態