[問題] struct的用法

看板C_and_CPP (C/C++)作者 (本帳號已停止使用)時間16年前 (2009/04/23 17:29), 編輯推噓7(7017)
留言24則, 12人參與, 最新討論串1/1
 不好意思,我又來問很基本的問題了..XDDDD  爬文看到有人說struct跟class差不多,只是struct的成員  都是public..?所以說struct是比較簡化的class嗎?他的  主要功用是什麼呢? 然後,剛剛看到一個這樣的範例,裡面有用到struct這個東  西.. struct xxx { int data; struct xxx *next; <==這個宣告好奇怪,在自己裡面宣告..? }; 有大大看得懂這個部份嗎?第一次看到這樣的宣告..@@  謝謝大家耐心看完這篇很基本的問題..:) ps.手邊的VC書雖然厚厚一本,不過都沒提到struct的東西,    要是想很快學好的話,不知道有什書比較適合呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.117.77

04/23 17:34, , 1F
struct 預設的存取權限為 public,而非都是 public
04/23 17:34, 1F

04/23 17:34, , 2F
這就是 struct 與 class 唯一的差別
04/23 17:34, 2F

04/23 17:37, , 3F
struct是C語言的東西,你上面的程式是要做linked-list的
04/23 17:37, 3F

04/23 17:37, , 4F
這樣看你可能要從基本的C開始看喔
04/23 17:37, 4F

04/23 17:38, , 5F
程式,建議去找資料結構來看(使用C語言),裡面多的是這種
04/23 17:38, 5F

04/23 17:39, , 6F
struct的使用.
04/23 17:39, 6F

04/23 17:41, , 7F
原來struct是屬於c的部份,難怪我在c++書裡找不到,謝謝喔~
04/23 17:41, 7F

04/23 17:41, , 8F
其實struct可以分為c和c++ c++的部分就是一樓說的
04/23 17:41, 8F

04/23 17:42, , 9F
c的部份與c++最大的差異在 無法區分資料存取等級
04/23 17:42, 9F

04/23 17:43, , 10F
且無法建立成員函式
04/23 17:43, 10F

04/23 17:47, , 11F
我在另一本turbo C的書裡資料結構部份找到struct了,謝謝大
04/23 17:47, 11F

04/23 17:47, , 12F
家的幫忙~:)
04/23 17:47, 12F

04/23 17:47, , 13F
這個用在linked-list很常見阿
04/23 17:47, 13F

04/23 17:49, , 14F
turbo C @@ 嘖嘖 骨董書了
04/23 17:49, 14F

04/24 00:12, , 15F
這叫做「巢狀結構」宣告嗎? (我也是初學者...)
04/24 00:12, 15F

04/24 00:21, , 16F
不是巢狀結構,但有本書稱這為遞迴定義
04/24 00:21, 16F

04/24 00:23, , 17F
有(另個位置也是同樣的物件)的定義 那麼就可以用這做法
04/24 00:23, 17F

04/24 07:30, , 18F
你可以作sizeof 觀察看看喔^^ linked-list正解
04/24 07:30, 18F

04/24 07:31, , 19F
struct 與 class, struct 內沒有function 也不能給值
04/24 07:31, 19F

04/24 07:32, , 20F
簡單的說 他是記憶體內的一塊空間(或說block)
04/24 07:32, 20F

04/24 07:34, , 21F
就是抽象化的一種 實際作法^^...(越解釋越亂
04/24 07:34, 21F

04/24 11:14, , 22F
原來struct裡面不能放function..(筆記~:D)
04/24 11:14, 22F

04/24 11:44, , 23F
C++裡, struct可以放member function的, C裡就不知了.
04/24 11:44, 23F

04/24 11:46, , 24F
C 裡不行呀, 你是可以放 function pointer 啦, 差很多就是了
04/24 11:46, 24F
文章代碼(AID): #19y3KKk5 (C_and_CPP)
文章代碼(AID): #19y3KKk5 (C_and_CPP)