Latest web development tutorials

C متغير

في الواقع، المتغير فقط هو اسم المحل التشغيلي البرنامج. (ج) كل متغير يحتوي على نوع معين، يحدد نوع متغير لتخزين حجم وتصميم قيمة في نطاق يمكن تخزينها في الذاكرة، ويمكن تطبيق مشغل المتغيرات.

ويمكن أن تتكون اسم المتغير من الحروف والأرقام، والسفلية. يجب أن يبدأ بحرف أو بتسطير. الأحرف الكبيرة والصغيرة مختلفة، لأن C هو لحالة الأحرف. استنادا إلى الفصل السابق شرح أنواع أساسية، وهناك عدة أنواع أساسية من المتغيرات:

类型描述
char通常是一个八位字节(一个字节)。这是一个整数类型。
int对机器而言,整数的最自然的大小。
float单精度浮点值。
double双精度浮点值。
void表示类型的缺失。

كما يسمح لغة C لك لتحديد مجموعة متنوعة من أنواع أخرى من المتغيرات، مثل تعداد، مؤشرات، المصفوفات، والهياكل والنقابات وغيرها، والتي سيتم شرحها في فصول لاحقة، وهذا الفصل علينا أولا توضيح أنواع المتغيرات الأساسية.

تعريف المتغير في C

تعريف متغير هو ان نقول المترجم لإنشاء متغير لتخزين حيث، وكيفية إنشاء المتغيرات التخزين. يحدد تعريف متغير نوع البيانات، ويحتوي على قائمة من نوع أو أكثر من المتغيرات، على النحو التالي:

type variable_list;

هنا، يجب أن يكون نوع لنوع C بيانات صالحة، التي يمكن أن تكون شار، w_char، كائنات كثافة، تطفو، مزدوجة، منطقي، أو وجد،قد تتكونالمعرفة من قبل المستخدمvariable_list من اسم واحد أو أكثر من معرفات تتألف من عدد وافر من معرفات مفصولة بفواصل. وهنا عدد قليل من بيان صحيح:

int    i, j, k;
char   c, ch;
float  f, salary;
double d;

صفط كثافة العمليات، ي، ك، أعلن وتحديد المتغيرات ط، ي و k، الذي يرشد برنامج التحويل البرمجي لإنشاء متغير من نوع int يسمى ط، ي، ك و.

يمكن تهيئة المتغيرات عندما يتم الإعلان عنها (تحديد القيمة الأولية). تتكون تهيئة علامة المساواة، تليها تعبير مستمر، كما هو مبين أدناه:

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'

تعريف دون التهيئة: المتغيرات مع مدة التخزين الثابتة سيتم تهيئة ضمنا إلى NULL (جميع القيم 0 بايت)، القيم الأولية الأخرى من كل المتغيرات غير محددة.

تعريف متغير C

تعريفات المتغير إلى المتغير مترجم لضمان نوع واسم وجود مثل هذه المتغيرات مترجم دون الحاجة لمعرفة التفاصيل الكاملة للقضية يمكن أن تستمر المزيد من تجميع. تعريف متغير له أهميته فقط في وقت الترجمة، عندما يحتاج المترجم لتوصيل الإعلانات المتغيرة الفعلية.

بتعريف المتغيرات هناك حالتين:

  • 1، هي واحدة اللازمة لإنشاء مساحة التخزين. على سبيل المثال: كثافة العمليات قد بيانا في وقت أنشأت بالفعل مساحة التخزين.
  • 2، والآخر هو الحاجة إلى إنشاء مساحة التخزين باستخدام الكلمة خارجي للإعلان عن اسم المتغير دون تحديد ذلك. على سبيل المثال: خارجي ... كثافة والتي يمكن تعريف متغير في ملف آخر.
  • الكلمة خارجي ما لم ينص على خلاف ذلك هي متغيرة.
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;

ولكن ما يلي هو ليس بيانا صحيحا، فإنه سيتم إنشاء خطأ وقت الترجمة:

10 = 20;