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

pointers q

مغلق
بدأه St0rM-m4n في 30 مارس 2007 · 2 رد · 432 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

صباح الخير اجمعين

كان في مشكله واجهتني اثناء تعلمي لل pointers واظنني اكتشفت الخطاء

#include<stdio.h>
int array[10],*ptr;

main()
{
	  ptr=array;
 if (ptr==&array[0])
 {
			  printf("thanks god");
			  }
			  }

بهذا الكود لا توجد مشاكل

لكن هذا

#include<stdio.h>
int array[10],*ptr;
  ptr=array;
main()
{

 if (ptr==&array[0])
 {
			  printf("thanks god");
			  }
			  }

وكما من الواضح اني استعملت اسناد ال pointer ك global هل هذا خطا

اي انه لايمكنني اسناد قيمة لل pointer ك global ?

شكرا مقدما شباب

#2

بسم الله الرحمن الرحيم

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

يمكنك إسناد قيمة لاى متغير global حتى ولو كان pointer ولكن يتم عن طريق هذا

int array[10],*ptr = array;

يعنى وانتا بتعرف المتغير تديلة قيمة يعنى فى مرحلة ال declaration تعمل initialize للمتغير ال global

أو ف اى دالة زى وتعطى قيمة لة

السبب لان لو كتبت زى ما انتا كاتب ف الحالة التانية هيعترض وويديك رسالة يقولك ان المتغير ptr معرف مرتين ف البرنامج

ولكن ف ال OOP لايفضل إستخدام ال global variables

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#3

الف شكر لردك وده فعلا الي طلعلي في ال compiler شكرا مره تانيه :D

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

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