اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم

كيف يتم تخزين البيانات فيه الداكرة ؟

وهل يوجد مقال علي اكادميه حاسوب بيتكلام عن انواع البيانات وكيف يتم تخزين البيانات ؟

وهل لغه باثيون بتعمل مع الداكرة زي لغة سي او جافا صح ؟

تم التعديل في بواسطة عمار معلا
يوجد اقتباس ضمن السؤال

Recommended Posts

  • 0
نشر

في البداية يجب عليك معرفة أن بايثون مبنيه على سي بلس بلس مع ذلك فأن بايثون تقوم بإدارة الذاكرة تلقائيا، بينما في سي بلس بلس يتعيين على المبرمج إدارة الذاكرة يدويا

في بايثون، يتم استخدام مفهوم (Garbage Collection) وهذ يعني أن الذاكرة التي لم تعد مستخدمة سيتم تحريرها تلقائيًا دون تدخل المبرمج، لاحظ الكود التالي

b = 10 
b = 50

عندما يتم تغيير قيمة المتغير "b" إلى 50 في السطر، ستتم إزالة القيمة السابقة 10 من الذاكرة تلقائيًا

في سي بلس بلس،  يتعين على المبرمج إدارة الذاكرة يدويًا كما ذكرت، يقع على عاتق المبرمج تخصيص الذاكرة وتحريرها يدويًا، على سبيل المثال، في الكود التالي:

int main() {   
  int *pointer = new int; // تخصيص ذاكرة   
  *pointer = 10;   
  delete pointer; // تحرير ذاكرة   
  return 0; 
}

في التعليق الأول يتم تخصيص ذاكرة جديدة باستخدام "new" عبر مفهوم المؤشرات حيث أن int يستهلك 4 بايتات من الذاكرة وبالتالي تم تخصيص هذه المساحة لنضع فيها القيمة 10 وبعدها تم تعيين قيمة المؤشر إلى 10 ثم في التعليق الثاني تم تحرير الذاكرة باستخدام "delete" يدويًا من قبل المبرمج،  مما يعني أن الذاكرة التي تم تخصيصها لتخزين القيمة 10 ستتم تحريرها.

وهذا هو الفرق بينهما في إدارة الذاكرة فبايثون تقوم بإدارة الذاكرة تلقائيًا دون تدخل المبرمج مما يجعلها أكثر سهولة للاستخدام وأقل عرضة لأخطاء إدارة الذاكرة مقارنة بسي بلس بلس التي يعتمد إدارة الذاكرة لديها على المبرمج
تستطيع قراءة هذا المقال عن إدارة الذاكرة في لغة c

  • 0
نشر
بتاريخ 2 ساعة قال عمار معلا:

في البداية يجب عليك معرفة أن بايثون مبنيه على سي بلس بلس مع ذلك فأن بايثون تقوم بإدارة الذاكرة تلقائيا، بينما في سي بلس بلس يتعيين على المبرمج إدارة الذاكرة يدويا

في بايثون، يتم استخدام مفهوم (Garbage Collection) وهذ يعني أن الذاكرة التي لم تعد مستخدمة سيتم تحريرها تلقائيًا دون تدخل المبرمج، لاحظ الكود التالي

b = 10 
b = 50

عندما يتم تغيير قيمة المتغير "b" إلى 50 في السطر، ستتم إزالة القيمة السابقة 10 من الذاكرة تلقائيًا

في سي بلس بلس،  يتعين على المبرمج إدارة الذاكرة يدويًا كما ذكرت، يقع على عاتق المبرمج تخصيص الذاكرة وتحريرها يدويًا، على سبيل المثال، في الكود التالي:

int main() {   
  int *pointer = new int; // تخصيص ذاكرة   
  *pointer = 10;   
  delete pointer; // تحرير ذاكرة   
  return 0; 
}

في التعليق الأول يتم تخصيص ذاكرة جديدة باستخدام "new" عبر مفهوم المؤشرات حيث أن int يستهلك 4 بايتات من الذاكرة وبالتالي تم تخصيص هذه المساحة لنضع فيها القيمة 10 وبعدها تم تعيين قيمة المؤشر إلى 10 ثم في التعليق الثاني تم تحرير الذاكرة باستخدام "delete" يدويًا من قبل المبرمج،  مما يعني أن الذاكرة التي تم تخصيصها لتخزين القيمة 10 ستتم تحريرها.

وهذا هو الفرق بينهما في إدارة الذاكرة فبايثون تقوم بإدارة الذاكرة تلقائيًا دون تدخل المبرمج مما يجعلها أكثر سهولة للاستخدام وأقل عرضة لأخطاء إدارة الذاكرة مقارنة بسي بلس بلس التي يعتمد إدارة الذاكرة لديها على المبرمج
تستطيع قراءة هذا المقال عن إدارة الذاكرة في لغة c

تمام , يعني انا كامبرمج بلغه الباثيون المفروض ما اشغلش بالي باحده زي كده صح 

حتي لو انا بتعلم مجال زي تعليم الاله ؟

  • 0
نشر
بتاريخ 7 دقائق مضت قال Ali Ahmed6:

تمام , يعني انا كامبرمج بلغه الباثيون المفروض ما اشغلش بالي باحده زي كده صح 

حتي لو انا بتعلم مجال زي تعليم الاله ؟

تماما لا تشغل بالك بهذه المهمة فبايثون تقوم بإدارة الذاكرة بدلا عنك

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...