ตัวแปร C
ในความเป็นจริงตัวแปรเดียวก็คือชื่อของโปรแกรมการดำเนินงานการจัดเก็บที่ C ตัวแปรแต่ละคนมีประเภทที่เฉพาะเจาะจงกำหนดชนิดของตัวแปรในการจัดเก็บขนาดและรูปแบบของค่าที่อยู่ในช่วงที่สามารถเก็บไว้ในหน่วยความจำผู้ประกอบการสามารถนำไปใช้กับตัวแปร
ชื่อตัวแปรอาจประกอบด้วยตัวอักษรตัวเลขและเครื่องหมายขีดล่าง มันต้องเริ่มต้นด้วยตัวอักษรหรือขีดล่าง ตัวอักษรพิมพ์ใหญ่และตัวพิมพ์เล็กมีความแตกต่างกันเพราะซีเป็นกรณี ๆ ไป ขึ้นอยู่กับบทก่อนหน้าอธิบายประเภทพื้นฐานมีหลายประเภทพื้นฐานของตัวแปร
类型 | 描述 |
---|---|
char | 通常是一个八位字节(一个字节)。这是一个整数类型。 |
int | 对机器而言,整数的最自然的大小。 |
float | 单精度浮点值。 |
double | 双精度浮点值。 |
void | 表示类型的缺失。 |
ภาษา C ยังช่วยให้คุณสามารถกำหนดความหลากหลายของประเภทอื่น ๆ ของตัวแปรเช่นแจงชี้อาร์เรย์โครงสร้างยูเนี่ยนเป็นต้นซึ่งจะอธิบายในบทต่อบทนี้เป็นครั้งแรกเราจะอธิบายประเภทตัวแปรพื้นฐาน
นิยามตัวแปรใน C
นิยามตัวแปรคือการบอกคอมไพเลอร์ที่จะสร้างตัวแปรในการจัดเก็บตัวแปรที่และวิธีการสร้างการเก็บรักษา นิยามตัวแปรระบุชนิดของข้อมูลและมีรายชื่อของประเภทหรือตัวแปรอื่น ๆ ที่ดังต่อไปนี้:
type variable_list;
ที่นี่ประเภทจะต้องเป็นประเภทที่ถูกต้องของข้อมูล C ซึ่งสามารถถ่าน w_char, int เป้าหมายลอยคู่บูลหรือใด ๆ ที่ผู้ใช้กำหนดvariable_list อาจประกอบด้วยชื่อหนึ่งหรือมากกว่าหนึ่งตัวบ่งชี้ประกอบด้วยส่วนใหญ่ของตัวระบุ คั่นด้วยเครื่องหมายจุลภาค ต่อไปนี้เป็นคำสั่งที่ถูกต้องไม่กี่:
int i, j, k; char c, ch; float f, salary; double d;
แถวผม int, J, K; ประกาศและกำหนดตัวแปร I, J และ K ซึ่งสั่งให้รวบรวมเพื่อสร้างตัวแปรชนิด int เรียกว่า I, J, K ของ
ตัวแปรที่สามารถเริ่มต้นได้เมื่อพวกเขามีการประกาศ (ระบุค่าเริ่มต้น) เริ่มต้นประกอบด้วยเครื่องหมายเท่ากับตามด้วยการแสดงออกที่คงที่แสดงด้านล่าง:
type variable_name = value;
นี่คือตัวอย่างบางส่วน:
extern int d = 3, f = 5; // d 和 f 的声明, 这就是单纯的声明 int d = 3, f = 5; // 定义并初始化 d 和 f byte z = 22; // 定义并初始化 z char x = 'x'; // 变量 x 的值为 'x'
ที่กำหนดโดยไม่ต้องเริ่มต้น: ตัวแปรที่มีระยะเวลาการจัดเก็บข้อมูลแบบคงที่จะเริ่มต้นได้โดยปริยายโมฆะ (ค่าทั้งหมดเป็น 0 ไบต์) ค่าเริ่มต้นอื่น ๆ ของตัวแปรทั้งหมดจะไม่ได้กำหนด
C ประกาศตัวแปร
การประกาศตัวแปรตัวแปรคอมไพเลอร์เพื่อให้แน่ใจว่าชนิดและชื่อของการดำรงอยู่ของตัวแปรดังกล่าวเรียบเรียงโดยไม่จำเป็นต้องทราบรายละเอียดที่สมบูรณ์ของกรณีที่ยังคงสามารถรวบรวมเพิ่มเติม การประกาศตัวแปรมีความสำคัญเท่านั้นที่รวบรวมเวลาเมื่อคอมไพเลอร์จะต้องมีการเชื่อมต่อการประกาศตัวแปรที่เกิดขึ้นจริง
ประกาศตัวแปรมีสองกรณีคือ
- 1 หนึ่งจะต้องสร้างการเก็บรักษา ตัวอย่างเช่น int คำสั่งในเวลาที่ได้จัดตั้งขึ้นแล้วพื้นที่จัดเก็บที่
- 2 อื่น ๆ ที่เป็นความต้องการที่จะสร้างพื้นที่เก็บข้อมูลโดยใช้คำหลัก extern ที่จะประกาศชื่อตัวแปรโดยไม่ต้องกำหนดมัน ตัวอย่างเช่น: extern int ในการที่ตัวแปรสามารถกำหนดในไฟล์อื่น
- คำหลัก extern เว้นแต่กำหนดไว้เป็นอย่างอื่นเป็นตัวแปร
extern int i; //声明,不是定义 int i; //声明,也是定义
ตัวอย่าง
ลองตัวอย่างต่อไปนี้ที่ตัวแปรได้รับการประกาศในหัว แต่ความหมายและการเริ่มต้นในการทำงานหลัก:
#include <stdio.h> // 变量声明 extern int a, b; extern int c; extern float f; int main () { /* 变量定义 */ int a, b; int c; float f; /* 初始化 */ a = 10; b = 20; c = a + b; printf("value of c : %d \n", c); f = 70.0/3.0; printf("value of f : %f \n", f); return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
value of c : 30 value of f : 23.333334
C ในมูลค่าซ้าย (lvalues) และมูลค่าที่เหมาะสม (Rvalues)
มีสองประเภทของการแสดงออก C คือ:
- มูลค่าซ้าย (lvalue) ที่ชี้ไปยังที่ตั้งของหน่วยความจำที่เรียกว่ามูลค่าการแสดงออกทางด้านซ้าย (lvalue) การแสดงออกlValue อาจปรากฏขึ้นในซ้ายหรือขวาของการกำหนด
- rvalue (rvalue): ผู้ rvalue สั้น (rvalue) หมายถึงค่าของบางส่วนของที่อยู่ที่เก็บไว้ในหน่วยความจำค่าของมันจะไม่ได้แสดงออกที่เหมาะสมกำหนดกล่าวคือค่านิยมที่เหมาะสมสามารถปรากฏบนด้านขวาของการกำหนด แต่ไม่สามารถปรากฏบนด้านซ้ายของการกำหนด
ค่าตัวแปรที่เหลืออยู่ก็สามารถปรากฏบนด้านซ้ายของการกำหนด ตัวอักษรตัวเลขเป็นค่าที่เหมาะสมและดังนั้นจึงไม่สามารถกำหนดก็ไม่สามารถปรากฏบนด้านซ้ายของการกำหนด ต่อไปนี้เป็นคำสั่งที่ถูกต้อง:
int g = 20;
แต่ต่อไปนี้จะไม่ได้เป็นคำสั่งที่ถูกต้องก็จะสร้างข้อผิดพลาดเวลารวบรวม A:
10 = 20;