الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Fuction

مغلق
بدأه great_word في 28 فبراير 2002 · 1 رد · 368 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أرجوا أفادتي في storage classes

وظائف كل من

extern, auto, register, static

مع مثال بسيط ..

#2

أخوي بالنسبة لــ auto ما ادري أيش هي بالظبط بس أتذكر إن الدكتور

قال لنا إنها قديمة وما عاد تستخدم .

أما static تستخدم غالباً في الدوال و هي عندما تستخدم الدالة مره

تكون بها القيم و بمجرد خورجك من الدالة تمسح القيم من الذاكرة

ولكن بالامر static تبقى القيم محفوظه في الذاكرة .

أو كما عرفها الدكتور عندنا:

static تعني عند إعطاء قيمة للدالة و تنفيذ هذه الدالة فإن المتغير

يحتفظ بالقيمة عند الإنتهاء من الدالة و عند الرجوع للدالة مرة أخرى

يجد المستخدم إخر قيمة للدالة .

مثال:

 
#include< stdio.h >
void total() ;
main()
{
	total() ;
	total() ;
	total() ;
}
void total()
{
	static int x = 1 ;
	int y = 1 ;

	x++ ;
	y++ ;

	printf("x = %d, y = %dn",x,y);
}

لاحظ الفرق بين الx وبين ال y :)

أزل كلمة static ولاحظ الفرق ;)

وبالنسبة للــ extern توني أشوف في المذكرة قايل أنه بناخذها في

151 CSC بس للأسف ما أخذناها . :'(

بالنسبة للــ register موضوع طويل خاص بالمعالجات يقوم بالعديد من

الامور مثل تغيير حجم المؤشر و وإخفائه و ما إلى ذلك ...

أنا حقيقة لم أعمل عليها و لكني قرأت عنها في أحد الكتب .

مع تحياتي ,,,

هذا الموضوع مغلق.

مواضيع مشابهة