C中的結構struce用於何時,C 中結構如何用 何時用

2022-12-21 01:30:13 字數 5259 閱讀 2700

1樓:匿名使用者

總結區別如下:

1.struct 是值型別,class是物件型別2.struct 不能被繼承,class可以被繼承3.

struct 預設的訪問許可權是public,而class預設的訪問許可權是private.

4.struct不能由程式設計師申明建構函式,即使是預設(不帶引數)的建構函式,同樣也不能有析構的處理部分。這是因為struct的建構函式是由編譯器自動生成的。

並且struct的用途是那些描述輕量級的物件,例如line,point等,並且效率比較高。

5.struct的new和class的new是不同的。struct的new就是執行一下建構函式建立一個新例項再對所有的欄位進行copy。

而class則是在堆上分配一塊記憶體然後再執行建構函式,struct的記憶體並不是在new的時候分配的,而是在定義的時候分配.

2樓:手繪時裝畫

**你必須知道的.net

實現一個主要用於儲存資料的結構時,可以考慮struct。

struct變數佔有堆疊的空間,因此只適用於資料量相對小的場合。

結構陣列具有更高的效率。

提供某些和非託管**通訊的相容性。

3樓:天道周星

其實你經常在用結構型別

包括int在內的8種整數型別、float在內的三種實數型別、字元型別等都是結構型別。

c#中 何時用結構、何時用類;何時用介面、何時用委託;以及什麼時候用private、public;

4樓:匿名使用者

但一個類中的欄位都是表示一些資料的時候,就用結構代替類,因為類是值型別,其它有邏輯判斷都用類介面間接的實現了多重繼承....private修飾 只允許在本類被訪問 ,,一般的資料庫連線之類關係程式安全的就用public 允許在任何地方訪問

c#中結構如何用?何時用?

5樓:匿名使用者

結 構是值型別 -- 如果從結構建立一個物件並將該物件賦給某個變數,變數則包含結構的全部值。複製包含結構的變數時,將複製所有資料,對新副本所做的任何修改都不會改變舊副 本的資料。由於結構不使用引用,因此結構沒有標識 -- 具有相同資料的兩個值型別例項是無法區分的。

c# 中的所有值型別本質上都繼承自 valuetype,後者繼承自 object。

編譯器可以在一個稱為裝箱的過程中將值型別轉換為引用型別。有關更多資訊,請參見裝箱和取消裝箱。

結構具有以下特點:

· 結構是值型別,而類是引用型別。

· 與類不同,結構的例項化可以不使用 new 運算子。

· 結構可以宣告建構函式,但它們必須帶引數。

· 一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。所有結構都直接繼承自 system.valuetype,後者繼承自 system.object。

結構可以實現介面。

6樓:匿名使用者

結構和類是值型別和引用型別的區別.

如果你想存放 很多欄位的話 結構 很節省資源但是你要做一些事情 就得用到類了.

但是 結構能做到的類都可以做到. 類能做到的結構 可是很多都做不到

7樓:匿名使用者

結構是屬於值型別,而類是屬於引用型別

在你要描述一類物件的時候,如果這類物件功能比較多比較繁瑣,那建議使用類,類是屬於一種功能元件,類與類之間可以互相呼叫實現訊息傳遞,但是結構說到底只是簡單值型別的一個集合。

8樓:匿名使用者

結構體?當某物件有固定屬性,可以建個結構體將引數維護進去,通過物件.屬性的方式進行呼叫,可以將同物件的引數放到一個物件的例項裡面進行查詢,傳參

c#中結構體到底有什麼用?

9樓:三斤魚

結構是值型別,在分配記憶體的時候,速度非常快,因為他們將內聯或者儲存到堆疊中,在結構超出作用域被刪除裡,速度也很快。

但當結構作為引數被傳遞或者把一個結構賦值給另一個結構,結構的所有內容都會被複制,效能影響就會較大。而對於類,只複製引用。

使用結構(c# 程式設計指南)

struct 型別適於表示 point、rectangle 和 color 等輕量物件。儘管可以將一個點表示為類,但在某些情況下,使用結構更有效。例如,如果宣告一個 1000 個 point 物件組成的陣列,為了引用每個物件,則需分配更多記憶體;這種情況下,使用結構可以節約資源。

由於 .net framework 包含名為 point 的物件,因此我們轉而呼叫結構「coords」。

public struct coords }

宣告結構的預設(無引數)建構函式是錯誤的。總是提供預設建構函式以將結構成員初始化為它們的預設值。在結構中初始化例項欄位也是錯誤的。

如果使用 new 運算子建立結構物件,則會建立該結構物件,並呼叫適當的建構函式。與類不同,結構的例項化可以不使用 new 運算子。如果不使用 new,則在初始化所有欄位之前,欄位都保持未賦值狀態且物件不可用。

對於結構,不像類那樣存在繼承。一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。但是,結構從基類 object 繼承。結構可實現介面,其方式同類完全一樣。

與 c++ 不同,無法使用 struct 關鍵字宣告類。在 c# 中,類與結構在語義上是不同的。結構是值型別,而類是引用型別。有關更多資訊,請參見值型別。

除非需要引用型別語義,否則系統將較小的類作為結構處理效率會更高。

10樓:草薙在

結構體比較輕量級,在傳輸資料的時候是copy資料,而不是如類一樣給引用,所以不需要擔心資源釋放。同時結構沒有多型特性,所以在呼叫方法的時候效能會更好

11樓:晏偉根大河

列舉和結構體的應用都差不多.

通常都是定義一個結構體或列舉,然後再用其定義成一個陣列,舉例,有人做字型檔時有結構體,

裡面包括一個unsigned int用於存漢字**,一個unsigned char[32]用於存點陣.

然後用該結構定義一個陣列,

然後查詢陣列裡unsigned int是否對應漢字,如果對應,則unsigned char[32]為該漢字的點陣,

這通常應用於lcd漢字顯示.

總的一句話,就是方便資料歸類,

如果學過c++,其實就有點類似c++的類,當然,這比類要弱很多很多.

如何用c#實現b/s結構?

12樓:超人影視娛樂

c#實現b/s結構方法:

可以再後臺通過webclient或者httpwebrequest來得到其他網頁上的資料,然後利用正則或者html解析獲得你要採集的最終資訊,然後輸出在頁面上。

首先假設說的「通訊那部分程式」是可以實現的話,那麼它必定是執行在瀏覽器端的。執行在web伺服器端的**,例如asp.net**,是開玩笑、不可能達到你的基本要求的。

但是這相當於c/s,只不過是通過瀏覽器去部署外掛而已,而不是什麼純粹的(簡單的)b/s。

13樓:匿名使用者

b/s架構即瀏覽器伺服器架構模式,與c/s架構是相對應得架構模式。用c#做b/s開發,典型的就是asp.net web開發;

visual studio 2008/2013是常用的.net開發工具,資料儲存上一般採用sqlserver,

應用開發流程:

(1)根據需求設計合理的資料庫(資料庫建模);

(2)採用常用mvc的開發模式進行程式設計:

m即mode,模型層,是應用程式中用於處理應用程式資料邏輯的部分,

v即檢視層,是應用程式中處理資料顯示的部分,web操作頁面,

c即控制層,負責從檢視讀取資料,控制使用者輸入,並向模型傳送資料,並將mode返回資料輸出到view,是連線mode層與view層的紐帶。

應用整個流程,使用者檢視頁面的操作動作會經由控制層把事件交由mode進行邏輯處理,並把處理的結構反饋給使用者。

14樓:匿名使用者

asp.net html sql

建意看微軟的寵物商店

最經典的b/s結構技術

15樓:匿名使用者

用asp.net 開發軟體用vs2005

16樓:風吹_雲飄散

開啟vs,建立--** 恭喜你 可以做bs結構的了

c#中結構是用來幹什麼的? 5

c#中結構體到底有什麼用?

17樓:匿名使用者

結構具有以下特點:

結構是值型別,而類是引用型別。

向方法傳遞結構時,結

專構是通過傳值方式屬

傳遞的,而不是作為引用傳遞的。

與類不同,結構的例項化可以不使用 new 運算子。

結構可以宣告建構函式,但它們必須帶引數。

一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。所有結構都直接繼承自 system.valuetype,後者繼承自 system.object。

結構可以實現介面。

在結構中初始化例項欄位是錯誤的

仔細看下吧。慢慢體會就會明白了。

18樓:匿名使用者

型別不同阿

結構體 是值型別 儲存在堆上

類是引用型別 儲存在堆疊

19樓:匿名使用者

屬性是為了提高封裝性,相對於自己寫的get、set函式,**量小了一點,而且使用的時候使用者不知道自己是在呼叫函式。好像預設情況下,屬性的**是inline的

20樓:匿名使用者

**的安全性和重用性考慮才出現的 比較規範 一般用在三層架構上

21樓:匿名使用者

既然是特點,肯定也就是他的優點,這裡有類不具備,或者不方面的。

在c#中 結構可以實現介面,結構不能用於繼承 ,結構中的欄位能否賦值?

22樓:小羊說程式設計

如下例子:這個是錯的 結構中不能有例項欄位初始值public struct cat

如下例子:這個是對的

public struct cat

23樓:匿名使用者

結構中的欄位不能賦值那結構還有什麼用?結構可以看成一種簡單的類。

c語言中用於結束迴圈的結構語句有什麼和什麼

結束迴圈的語句有二 break 在迴圈中只要執行這個語句,可跳出當前迴圈迴圈條件,當迴圈語句中的條件不滿足時結束迴圈類似的還有 return 結束迴圈並且執行子程式返回 goto語句,可從迴圈中直接轉出到迴圈外的語句exit 語句,可從迴圈內直接結束main函式執行 break 跳出迴圈語句 ret...

c 繼承後的記憶體分配問題,c 中給結構體分配動態記憶體的問題 用new嗎 怎麼用

不能訪問是不能直接通過派生類物件直接呼叫,但是可以通過派生類的成員函式呼叫基類的公有函式來訪問基類的私有屬性.難道編譯器會分配一塊記憶體放著不管造成記憶體洩漏?因為在派生類中通過可以定義新函式成員來訪問這些記憶體 間接訪問 比如呼叫基類派生下來的成員函式 所以這些記憶體是可以被主動訪問或銷燬的。私有...

寫出鋼結構的優點,使其使用於高層建築結構

當今的建築鋼結構佔比越來越大,以後的高樓大廈都不再用混凝土了,取而代之的鋼框架結構。那鋼筋混凝土結構和鋼結構各自有自身的優缺點 一是鋼結構重量輕。鋼結構的容重較大,強度很高,在大承受的荷載和條件相同時,鋼結構要比其它結構輕,便於運輸和安裝,並可跨度大。二是鋼材的塑性和韌性好,則使鋼結構對動力荷載的適...