Skip to content

Commit

Permalink
Update 2.1-pointer.md
Browse files Browse the repository at this point in the history
تصحیح متن
  • Loading branch information
r3a70 committed Jun 5, 2023
1 parent 5146ec3 commit 00f43dc
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions content/chapter 2/2.1-pointer.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ $ go run main.go

در مثال بالا `a` و `b*` هر دو دارند به یک آدرس از حافظه اشاره می کنند. بنابرین تغییر مقدار یکی از آن ها, روی هر دو متغیر تاثیر میگذارد.

## 2.1.4 اشاره گر به یک اشاره گر
## 2.1.4 اشاره گر به یک اشاره گر (Double Pointers)

شما می توانید یک متغیر اشاره گر تعریف کنید و متغیر اشاره گر دیگری را بهش اختصاص دهید.

Expand All @@ -135,11 +135,11 @@ c := &b

![array](../../assets/img/content/chapter2/pointer/1.jpg)

در بالا متغیر a مقدارش ۲ می باشد و آدرسش در حافظه `0xXXXXXX` است و در مقدار متغیر b ما اشاره کردیم به آدرس حافظه متغیر a و در ادامه در متغیر c به آدرس حافظه متغیر b اشاره کردیم که آدرسش در حافظه `0xYYYYYY` است.
همونطور که در مثال و عکس بالا میبینید, متغیر a مقدارش ۲ و آدرسش در حافظه `0xXXXXXX` است. در مقدار متغیر b ما اشاره کردیم به آدرس حافظه متغیر a و در ادامه در متغیر c به آدرس حافظه متغیر b اشاره کردیم.

زمانیکه شما بخواهید مقدار c را چاپ کنید کافیه `c**` را استفاده کنید تا مقدار را ۲ را که داخل خانه حافظه متغیر a قرار دارد را چاپ کند.
زمانیکه شما بخواهید مقدار c را چاپ کنید کافیه از `c**` استفاده کنید تا مقدار ۲ را چاپ کند.

به مثال زیر توجه کنید :
به مثال زیر توجه کنید:

```go
package main
Expand Down Expand Up @@ -201,7 +201,7 @@ c: 824633778216
```

{{< hint danger >}}
توجه کنید زبان گو همانند زبان c استفاده از اشاره گر حسابی (Pointer Arithmetic) امکان پذیر نمی باشد و با خطای زیر مواجه خواهید شد :
توجه کنید در زبان گو علی رغم زبان c استفاده از اشاره گر حسابی (Pointer Arithmetic) امکان پذیر نمی باشد و در صورت استفاده با خطای زیر مواجه خواهید شد :
```go
package main
func main() {
Expand Down

0 comments on commit 00f43dc

Please sign in to comment.