السلام عليكم و رحمة الله تعالى و بركاته
كل عام و أنتم بخير و مبروك عليكم عيد الفطر المبارك :)
أنا مبتدئ في المؤشرات (في لغتي السي و السي++) و دائما ما اجد صعوبة في فهمها و بالأحرى التعامل معها !, من أجل ذلك قررت أن أطرح عليكم مشاكلي فيها لكي تساعدونني في فهمها فمن دونها .. أحس بأن البرمجة فقدت الكثير من مميزاتها ...! :wink:
بحسب معلوماتي (المتواضعة) فإن مؤشر الحروف أو char * عبارة عن سلسلة حرفية ...!, ولكن :
1-عندما نريد إسناد سلسلة حرفية إلى مؤشر حرفي فإننا لا نحجز مكان للمؤشر في الذاكرة و إنما نُسند مباشرة, هكذا:
char *p="arabteam2000";
ألا يختلف هذا مع قواعد اللغة !؟
2-ما هي القيمة القصوى لطول السلسلة الحرفية التي بإمكاننا إسنادها لمؤشر الحروف !؟
3-لماذا يكون بإمكاننا إسناد سلسلة حرفية إلى مؤشر حرفي بينما لا يمكننا فعل ذلك مع المؤشرات العددية (مثل int* و *float) !؟
4-عند تنفيذ الكود الاتي :
#include<iostream>
using namespace std;
int main()
{
char *p="arabteam2000";
cout<<p<<endl;
system("pause");
return 0 ;
}ستظهر لنا الجملة arabteam2000 !!
ألم يكن من المفترض أن يظهر العنوان !؟