成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

探究C編程中靜態(tài)和非靜態(tài)的差異

在C編程中,靜態(tài)(static)和非靜態(tài)的概念是我們需要深入理解的。簡(jiǎn)單來(lái)說(shuō),靜態(tài)就是使用了static關(guān)鍵字修飾的成員,而非靜態(tài)則相反,沒(méi)有使用static修飾。創(chuàng)建C控制臺(tái)項(xiàng)目首先打開(kāi)VS2015

在C編程中,靜態(tài)(static)和非靜態(tài)的概念是我們需要深入理解的。簡(jiǎn)單來(lái)說(shuō),靜態(tài)就是使用了static關(guān)鍵字修飾的成員,而非靜態(tài)則相反,沒(méi)有使用static修飾。

創(chuàng)建C控制臺(tái)項(xiàng)目

首先打開(kāi)VS2015開(kāi)發(fā)工具,點(diǎn)擊菜單欄文件 -- 新建 -- 項(xiàng)目,創(chuàng)建一個(gè)C語(yǔ)言的控制臺(tái)項(xiàng)目。在項(xiàng)目的入口文件Program.cs內(nèi),我們可以新建一個(gè)靜態(tài)類(lèi)和一個(gè)非靜態(tài)類(lèi)。

```csharp

using System;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

}

}

class Person

{

}

static class Vehicle

{

}

}

```

在上述代碼中,Person是一個(gè)非靜態(tài)類(lèi),而Vehicle是一個(gè)靜態(tài)類(lèi)。

實(shí)例化靜態(tài)類(lèi)和非靜態(tài)類(lèi)

嘗試在Program.cs文件的Main函數(shù)中實(shí)例化上一步定義的靜態(tài)類(lèi)和非靜態(tài)類(lèi)。我們會(huì)發(fā)現(xiàn),靜態(tài)類(lèi)是無(wú)法被實(shí)例化的,這正是靜態(tài)類(lèi)的特點(diǎn)之一。

靜態(tài)類(lèi)也無(wú)法包含非靜態(tài)的成員變量,因?yàn)殪o態(tài)類(lèi)本身不能被實(shí)例化,所以也不可能存在對(duì)象來(lái)使用成員變量。

探索靜態(tài)和非靜態(tài)成員的使用

在非靜態(tài)類(lèi)Person中定義一個(gè)成員變量,并創(chuàng)建一個(gè)靜態(tài)函數(shù),試圖在靜態(tài)函數(shù)中使用該成員變量會(huì)導(dǎo)致錯(cuò)誤。這是因?yàn)殪o態(tài)函數(shù)只能訪問(wèn)靜態(tài)成員變量,而不能使用普通的成員變量。

如果我們將Person類(lèi)中的成員變量改為靜態(tài)成員變量,那么就不會(huì)再出現(xiàn)錯(cuò)誤。

靜態(tài)成員的加載特性

在C程序語(yǔ)言中,靜態(tài)成員(如靜態(tài)類(lèi)、靜態(tài)函數(shù)、靜態(tài)變量)會(huì)在非靜態(tài)成員之前加載到內(nèi)存中。因此,靜態(tài)成員通常被設(shè)計(jì)成工具類(lèi),以方便調(diào)用和使用。常見(jiàn)的靜態(tài)類(lèi)比如Console類(lèi),通過(guò)按下F12鍵可以查看其內(nèi)容,你會(huì)發(fā)現(xiàn)其中包含許多靜態(tài)函數(shù)和靜態(tài)變量。

標(biāo)簽: