en
Feedback
PI Team π ❷

PI Team π ❷

Open in Telegram

PI Team فريق تطوعي من طلاب دفعة 2025- 2030 في كلية الهندسة المعلوماتية جامعة حمص، يهدف لمساعدة الطلاب في الدراسة ونشر المحاضرات والملفات الهامة دون مقابل.

Show more
The country is not specifiedEducation63 661
1 426
Subscribers
No data24 hours
-37 days
-1430 days
Posts Archive
void f(int *d){ int *s=d; (*s)++; } int main() { int a=10; f(&a); cout<<a<<endl;}

خرج الكود السابق
Anonymous voting

void f(int *d){ int *s=&d; (*s)++; } int main() { int a=10; f(&a); cout<<a<<endl; }

منفككها شوي شوي:
&X
عنوان الـ X
*&x
بعدها اخذنا المحتوى للعنوان يلي هو X نفسها يعني هي يلي فوق بتعادل تماما
x
بعدها رجعنا اخذنا عنوان للـ
&x
فصار عنا
&*&x=&x
وعلى فكرة هيك سؤال ممكن يجي

بالنسبة للسؤالين الاخيرين انا لما بكتب
int a=10; int *x=&a;
هيك عرفنا مؤشر اسمه x بيشير لعنوان a هي اول خطوة
cout<<&a<<endl;
هيك رح يطبع عنوان a
cout<<x<<endl;
هيك رح يطبع محتوى x يلي هو عنوان a كمان
cout<<&x<<endl;
هيك رح يطبع عنوان الـ X
cout<<*&x<<endl;
هيك رح يطبع محتوى عنوان الـ X يعني رح يطبع محتوى الـ X نفسه يلي هو عنوان الـ A يعني هي كأني كتبت
cout<<x<<endl;
اخر شي هي :
cout<<&*&x<<endl;
منفككها شوي شوي:
&X
عنوان الـ X بعدها اخذنا المحتوى للعنوان يلي هو X نفسها بعدها رجعنا اخذنا عنوان للـ X

خرج الكود السابق هو:
Anonymous voting

int a=10; int *x=&a; cout<<*&x<<endl;

تنفيذ الكود السابق هو :
Anonymous voting

int a=10; int *x=&a; cout<<&*&x<<endl;

الفكرة الاساسية هنا : ان تمثيل الذاكرة يتم بالنظام الست عشري كل خانة في الذاكرة هي 1 byte ويتم الانتقال بالـ int بمقدار 4 بايت وليس 1 لذلك يكون الجواب 0x6dfee8 مضافا اليه 4 8+4=12 12=C بالنظام الست عشري 0x6dfeec

الخرج هو:
Anonymous voting

int a=10; int *x=&a; x++; cout<<x<<endl;
اذا علمت أن عنوان a هو0x6dfee8 فما هو الخرج؟

الفكرة : عند كتابة
*y++;
سوف تنفذ الـ ++ بالبداية وبالتالي سوف ينتقل للعنوان التالي ثم النجمة هنا لن تفعل شيء اما عند
(*y)++;
فهنا يتم الزيادة على القيمة التي تؤشر عليها y

خرج الكود السابق
Anonymous voting

int x=10; int *y=&x; (*y)++; cout<<x<<endl;

خرج الكود السابق
Anonymous voting

int x=10; int *y=&x; *y++; cout<<x<<endl;

الشكل الصحيح للتصريح عن المؤشر :
Anonymous voting

عند الحجز الديناميكي يتم التخزين ضمن :
Anonymous voting

الطريقة الصحيحة للحجز الديناميكي للذاكرة هي:
Anonymous voting