簡體   English   中英

C - int 是一個變量,那么為什么不使用變量而不是 int 呢?

[英]C - int is a variable so why not use a variable instead of an int?

我剛在想。 如果這是一個變量:

int variable;
variable = 12;

你不能這樣做嗎?:

variable = 12;
//Instead of putting int variable before this?

我是 C 的新手並且正在學習它,只是想了解更多。

與字符相同的事情。

為什么我的問題被否決了? 我在問問題,你們都在幫助......

你不能這樣做嗎?:

變量 = 12; //而不是在此之前放置int變量?

不,你不能這樣做,因為你必須先聲明它的類型。 這個

int variable;

定義一個可以保存int的變量。 如果您分配string 、“asdsa2”或float 34.5,您將收到編譯錯誤。 因為我們只能將 int 類型的variable分配給variable

所以 char 將變量定義為字符串,而 int 將其定義為整數。

如果你寫:

char firstLetter;

定義了一個char類型的變量。 這意味着變量firstLetter可以保存一個字符。

這是firstLetter='c'; 有效的。 而這個firstLetter="21"; 是錯的。

我現在明白了,但你不能這樣做嗎? int 變量 = 12; 或 char 變量 = "string";

你當然知道。 這實際上是我們為變量賦值的常用方式,如下所示

  1. 我們定義類型。
  2. 我們設置變量的名稱。
  3. 我們放置等號,=。
  4. 我們設定值。
  5. 我們用分號 ; 終止賦值。

從左到右遵循 1 到 5。

C 是靜態類型的,這意味着每個變量都有一個需要指定的類型。 您可以通過將類型名稱放在聲明中來指定它。 您可以在其聲明中初始化變量,而不是稍后分配它:

int variable = 12;

但你不能完全省略聲明。 您的第二個代碼段是對已聲明的變量的賦值,如果尚未聲明,則會給出錯誤。 編譯器需要聲明來告訴它類型,以便它知道如何分配給它。

您最初用 C++ 標記了問題; 該語言允許從初始化程序中推導出類型,以節省您編寫冗余。 但是在這種情況下您仍然需要聲明,以表明您打算引入一個新變量,而不僅僅是錯誤輸入現有變量的名稱:

auto variable = 12;   // "auto" is deduced as "int" to match 12

但是C沒有這個。

好吧,讓我告訴你。 每當你想在“C”中使用一個變量時,你就必須定義它。 這里,“int 變量”表示該變量將保存一個整數值。 “char”和“float”的情況類似。 這是在“C”中定義變量的規則。 如果您只寫“variable=12”,那么編譯器將無法理解它將保存哪種類型的值。 是的,您必須首先提供變量的類型,以便編譯器了解變量的數據類型並進行相應的編譯。

在某些語言(如 Python)中,您不必聲明數據類型。 當你寫類似的東西時

int variable;

你在“聲明”它。 當你寫

variable = 1;

您正在“初始化”它。 所有變量都必須首先在 C 中聲明,因為它是一種關注內存和數據類型的低級語言。

在 C 中,您必須指定變量的類型

int 變量 = 12;

int是類型。

variable變量的名稱。

12是您將其初始化為的值。

什么是類型,為什么我們需要它? 類型本質上是一種告訴系統您希望將多少內存附加到變量的方法。

通常在 32 位機器上你有:

int 是 4 個字節,char 是 1 個字節。

如果你沒有聲明類型,你會給所有的東西 4 個字節是浪費,而它可能只需要 1 個。

類型也可以幫助程序員確定變量必須具有什么,例如 char * 通常是一個字符串,一個 int 是一個整數,一個浮點數是一個浮動小數點數。 擁有類型有很多用途,並且有一些語言可以抽象類型,例如 python(嗯,原始類型)。

都在一行中:

int variable = 12;

int 是類型的名稱,variable 是該類型的變量的名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM