Skip to content

Commit 349c9b8

Browse files
committed
Fix alignments
1 parent 2f7e72a commit 349c9b8

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

Questions/Pointers/Pointers.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,36 @@
3131
- **چیست؟** مقدار متغیر داده‌ایه که در آن ذخیره می‌شه. این مقدار می‌تونه ثابت یا متغیر باشه.
3232
- **مورد استفاده:** در زمان اجرا (Runtime) که ممکن است تغییر کند.
3333
- **مثال:** وقتی می‌نویسیم
34+
35+
<div dir="ltr">
36+
3437
```c
3538
int x = 5;
3639
```
40+
</div>
41+
3742
در اینجا 5 مقدار اولیه متغیر `x` است.
3843

3944
4. **آدرس (Address):**
4045
- **چیست؟** آدرس مکان متغیر در حافظه است. این آدرس به CPU کمک می‌کند تا داده‌ها را پیدا کند.
4146
- **مورد استفاده:** در زمان اجرا (Runtime) به سیستم این امکان را می‌دهد که به داده‌ها دسترسی داشته باشد.
4247
- **مثال:**
48+
<div dir="ltr">
49+
4350
```c
4451
int *ptr = &x; // آدرس متغیر x
4552
```
53+
</div>
4654

4755
5. **سایز (Size):**
4856
- **چیست؟** سایز مشخص می‌کند که متغیر چقدر فضای حافظه اشغال می‌کند. سایز متغیر به نوع داده‌ای که برای آن تعریف شده بستگی دارد.
4957
- **مورد استفاده:** در زمان اجرا (Runtime) برای تخصیص حافظه.
5058
- **مثال:**
59+
<div dir="ltr">
5160
```c
5261
sizeof(int) // معمولاً 4 بایت برمی‌گردونه
5362
```
63+
</div>
5464

5565
6. **محدوده (Scope):**
5666
- **چیست؟** محدوده یا Scope تعیین می‌کند که یک متغیر در کجا قابل دسترسی است.
@@ -77,6 +87,9 @@
7787
**Data Bus**، یک مجموعه‌ای از سیم‌هاست که داده‌ها را بین CPU و حافظه منتقل می‌کند. هر بایت، 8 بیت داده دارد، بنابراین Data Bus معمولاً 8 سیم دارد.
7888

7989
### تصویر حافظه تک‌بایتی با Data Bus:
90+
91+
<div dir="ltr">
92+
8093
```
8194
----+-------+-------+-------+-------+------+-------+-------+------+-------> DataBus (8 wire)
8295
| | | | | | | |
@@ -85,6 +98,7 @@
8598
| +-------+-------+-------+-------+-------+-------+-------+-------+ |
8699
|_________________________________________________________________________|
87100
```
101+
</div>
88102

89103
### نوشتن داده در حافظه
90104

@@ -100,6 +114,9 @@
100114
**Control Bus** مسئول ارسال سیگنال‌های کنترلی است که مشخص می‌کند عملیات باید **خواندن** (Read) باشد یا **نوشتن** (Write).
101115

102116
### تصویر با Control Bus:
117+
118+
<div dir="ltr">
119+
103120
```
104121
----+-------+-------+-------+-------+------+-------+-------+------+-------> DataBus (8 wire)
105122
| | | | | | | |
@@ -108,6 +125,7 @@
108125
| +-------+-------+-------+-------+-------+-------+-------+-------+ |
109126
|_________________________________________________________________________|
110127
```
128+
</div>
111129

112130
### خواندن داده از حافظه
113131

@@ -124,6 +142,9 @@
124142
**Address Bus** مجموعه‌ای از سیم‌هاست که آدرس خونه‌ی حافظه‌ای که CPU می‌خواهد با آن کار کند را مشخص می‌کند.
125143

126144
### تصویر حافظه چندبایتی با Address Bus:
145+
146+
<div dir="ltr">
147+
127148
```
128149
----+-------+-------+-------+-------+------+-------+-------+------+-------> DataBus (8 wire)
129150
| | | | | | | |
@@ -141,6 +162,7 @@
141162
| +-------+-------+-------+-------+-------+-------+-------+-------+ |
142163
|___________________________________________________________________________|
143164
```
165+
</div>
144166

145167
### نوشتن داده در بایت مشخص
146168

@@ -155,6 +177,9 @@
155177
تا اینجا متوجه شدیم که سیستم باس چطور به CPU این امکان را می‌دهد که با حافظه ارتباط برقرار کند. با درک درست این مفاهیم، حالا می‌توانیم به بررسی **پوینترها** بپردازیم و ببینیم که چگونه می‌توانیم به آدرس‌های حافظه دسترسی پیدا کنیم و داده‌ها را مدیریت کنیم. در بخش‌های بعدی، به انواع مختلف پوینترها، کاربردهای آن‌ها و مثال‌های عملی می‌پردازیم.
156178

157179

180+
## این مقاله در حال بروزرسانی میباشد...
181+
182+
158183
## آرایه‌ها
159184

160185
| شماره | سوال | بارم‌بندی |

0 commit comments

Comments
 (0)