Latest web development tutorials
×

C หลักสูตร

C กวดวิชาภาษา C แนะนำโดยย่อ C การตั้งค่าสภาพแวดล้อม C โครงสร้างหลักสูตร C ไวยากรณ์พื้นฐาน C ชนิดข้อมูล C ตัวแปร C คงที่ C ประเภทการจัดเก็บ C ผู้ประกอบการ C ผู้พิพากษา C การไหลเวียน C ฟังก์ชัน C การกำหนดขอบเขตกฎระเบียบ C แถว C ชี้ C เชือก C โครงสร้าง C สหภาพ C ฟิลด์บิต C typedef C อินพุตและเอาต์พุต C การอ่านออกเขียนเอกสาร C preprocessor C ส่วนหัว C ปลดเปลื้อง C จัดการข้อผิดพลาด C recursion C พารามิเตอร์ตัวแปร C จัดการหน่วยความจำ C บรรทัดคำสั่ง C คลาสสิก 100 ราย

C ห้องสมุดมาตรฐาน

C ห้องสมุดมาตรฐาน - คู่มืออ้างอิง C ห้องสมุดมาตรฐาน - <assert.h> C ห้องสมุดมาตรฐาน - <ctype.h> C ห้องสมุดมาตรฐาน - <errno.h> C ห้องสมุดมาตรฐาน - <float.h> C ห้องสมุดมาตรฐาน - <limits.h> C ห้องสมุดมาตรฐาน - <locale.h> C ห้องสมุดมาตรฐาน - <math.h> C ห้องสมุดมาตรฐาน - <setjmp.h> C ห้องสมุดมาตรฐาน - <signal.h> C ห้องสมุดมาตรฐาน - <stdarg.h> C ห้องสมุดมาตรฐาน - <stddef.h> C ห้องสมุดมาตรฐาน - <stdio.h> C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <string.h> C ห้องสมุดมาตรฐาน - <time.h>

ตัวแปร 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 คือ:

  1. มูลค่าซ้าย (lvalue) ที่ชี้ไปยังที่ตั้งของหน่วยความจำที่เรียกว่ามูลค่าการแสดงออกทางด้านซ้าย (lvalue) การแสดงออกlValue อาจปรากฏขึ้นในซ้ายหรือขวาของการกำหนด
  2. rvalue (rvalue): ผู้ rvalue สั้น (rvalue) หมายถึงค่าของบางส่วนของที่อยู่ที่เก็บไว้ในหน่วยความจำค่าของมันจะไม่ได้แสดงออกที่เหมาะสมกำหนดกล่าวคือค่านิยมที่เหมาะสมสามารถปรากฏบนด้านขวาของการกำหนด แต่ไม่สามารถปรากฏบนด้านซ้ายของการกำหนด

ค่าตัวแปรที่เหลืออยู่ก็สามารถปรากฏบนด้านซ้ายของการกำหนด ตัวอักษรตัวเลขเป็นค่าที่เหมาะสมและดังนั้นจึงไม่สามารถกำหนดก็ไม่สามารถปรากฏบนด้านซ้ายของการกำหนด ต่อไปนี้เป็นคำสั่งที่ถูกต้อง:

int g = 20;

แต่ต่อไปนี้จะไม่ได้เป็นคำสั่งที่ถูกต้องก็จะสร้างข้อผิดพลาดเวลารวบรวม A:

10 = 20;