SlideShare a Scribd company logo
1 of 10
‫آرایه‬
‫گر‬ ‫اشاره‬
Reference
‫آرایه‬ ‫تعریف‬
char c[20];
‫آرایه‬ ‫عناصر‬ ‫به‬ ‫دسترسی‬
‫شوند‬ ‫می‬ ‫شروع‬ ‫صفر‬ ‫از‬ ‫آرایه‬ ‫عناطر‬
c[0], c[1] , …, c[19]
1. void copy_fct()
2. {
3. int v1[10] = {0,1,2,3,4,5,6,7,8,9};
4. int v2[10]; // To become a copy of v1
5.
6. for (int i=0; i!=10;++i) // Copy elements
7. v2[i] = v1[i];
8. }
1. void print()
2. {
3. int v[] = {0,1,2,3,4,5,6,7,8,9};
4.
5. for (int i=0; i!=10; ++i)
6. cout << v[i] << 'n';
7. }
1. void increment()
2. {
3. int v[] = {0,1,2,3,4,5,6,7,8,9};
4.
5. for (int i=0; i!=10; ++i)
6. ++v[i];
7. }
‫گر‬ ‫اشاره‬ ‫کردن‬ ‫تعریف‬
char* x;
char* p = &v[3];
double* pd = nullptr;
‫یا‬ ‫رشته‬String
const char* str="This is a string";
const char str[]={'T','h','i‘,...,'g',0};
‫گر‬ ‫اشاره‬void*
int* pi = &i;
void* pv = pi;
‫تابع‬ ‫به‬ ‫گر‬ ‫اشاره‬
int f(char c, float f);
int (*pf)(char, float) = f;
1. // Count the number of occurrences of x in p[]
2. // p is assumed to point to a zero-terminated
3. // array of char (or to nothing)
4. int count_x(char* p, char x)
5. {
6. if (p == nullptr) return 0;
7.
8. int count = 0;
9. for (; *p!=0; ++p)
10. if (*p == x)
11. ++count;
12. return count;
13. }
‫کردن‬ ‫تعریف‬reference
int& count;
char& chr;
Reference‫باشد‬ ‫خالی‬ ‫نمیتواند‬ ‫وقت‬ ‫هیچ‬
char c;
int i;
int& count = i;
char& chr = c;
4. pointers, arrays

More Related Content

What's hot

An Introduction to Tinkerpop
An Introduction to TinkerpopAn Introduction to Tinkerpop
An Introduction to Tinkerpop
Takahiro Inoue
 

What's hot (20)

Include
IncludeInclude
Include
 
Cpp
Cpp Cpp
Cpp
 
Binary addition using class concept in c++
Binary addition using class concept in c++Binary addition using class concept in c++
Binary addition using class concept in c++
 
Function basics
Function basicsFunction basics
Function basics
 
Understanding storage class using nm
Understanding storage class using nmUnderstanding storage class using nm
Understanding storage class using nm
 
Excelマクロはじめの一歩
Excelマクロはじめの一歩Excelマクロはじめの一歩
Excelマクロはじめの一歩
 
Stl algorithm-Basic types
Stl algorithm-Basic typesStl algorithm-Basic types
Stl algorithm-Basic types
 
[KOSSA] C++ Programming - 17th Study - STL #3
[KOSSA] C++ Programming - 17th Study - STL #3[KOSSA] C++ Programming - 17th Study - STL #3
[KOSSA] C++ Programming - 17th Study - STL #3
 
week-5x
week-5xweek-5x
week-5x
 
Code
CodeCode
Code
 
Implementing string
Implementing stringImplementing string
Implementing string
 
HOTEL MANGEMENT
HOTEL MANGEMENTHOTEL MANGEMENT
HOTEL MANGEMENT
 
Assignement c++
Assignement c++Assignement c++
Assignement c++
 
String Manipulation Function and Header File Functions
String Manipulation Function and Header File FunctionsString Manipulation Function and Header File Functions
String Manipulation Function and Header File Functions
 
Arrays
ArraysArrays
Arrays
 
Lightning Talk - Introduce to iOS 7
Lightning Talk - Introduce to iOS 7Lightning Talk - Introduce to iOS 7
Lightning Talk - Introduce to iOS 7
 
An Introduction to Tinkerpop
An Introduction to TinkerpopAn Introduction to Tinkerpop
An Introduction to Tinkerpop
 
C questions
C questionsC questions
C questions
 
Static and const members
Static and const membersStatic and const members
Static and const members
 
C++ Question on References and Function Overloading
C++ Question on References and Function OverloadingC++ Question on References and Function Overloading
C++ Question on References and Function Overloading
 

Similar to 4. pointers, arrays

Whats new in_csharp4
Whats new in_csharp4Whats new in_csharp4
Whats new in_csharp4
Abed Bukhari
 
Gauss in java
Gauss in javaGauss in java
Gauss in java
baxter89
 
Module wise format oops questions
Module wise format oops questionsModule wise format oops questions
Module wise format oops questions
SANTOSH RATH
 

Similar to 4. pointers, arrays (20)

Oops lab manual2
Oops lab manual2Oops lab manual2
Oops lab manual2
 
C arrays
C arraysC arrays
C arrays
 
Java arrays
Java    arraysJava    arrays
Java arrays
 
Arrays
ArraysArrays
Arrays
 
CP Handout#9
CP Handout#9CP Handout#9
CP Handout#9
 
Whats new in_csharp4
Whats new in_csharp4Whats new in_csharp4
Whats new in_csharp4
 
Ss
SsSs
Ss
 
Arrry structure Stacks in data structure
Arrry structure Stacks  in data structureArrry structure Stacks  in data structure
Arrry structure Stacks in data structure
 
Flashback, el primer malware masivo de sistemas Mac
Flashback, el primer malware masivo de sistemas MacFlashback, el primer malware masivo de sistemas Mac
Flashback, el primer malware masivo de sistemas Mac
 
Gauss in java
Gauss in javaGauss in java
Gauss in java
 
C++_notes.pdf
C++_notes.pdfC++_notes.pdf
C++_notes.pdf
 
Module wise format oops questions
Module wise format oops questionsModule wise format oops questions
Module wise format oops questions
 
Unit 3
Unit 3 Unit 3
Unit 3
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
 
Introduction to cpp (c++)
Introduction to cpp (c++)Introduction to cpp (c++)
Introduction to cpp (c++)
 
Chp4(ref dynamic)
Chp4(ref dynamic)Chp4(ref dynamic)
Chp4(ref dynamic)
 
array2d.ppt
array2d.pptarray2d.ppt
array2d.ppt
 
C++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical ReviewerC++ Code as Seen by a Hypercritical Reviewer
C++ Code as Seen by a Hypercritical Reviewer
 
Resource wrappers in C++
Resource wrappers in C++Resource wrappers in C++
Resource wrappers in C++
 
Unit 3
Unit 3 Unit 3
Unit 3
 

More from Vahid Heidari

More from Vahid Heidari (17)

18. utilities
18. utilities18. utilities
18. utilities
 
17. thread and deadlock
17. thread and deadlock17. thread and deadlock
17. thread and deadlock
 
16. smart pointers
16. smart pointers16. smart pointers
16. smart pointers
 
15. map, unordered map, algorithms
15. map, unordered map, algorithms15. map, unordered map, algorithms
15. map, unordered map, algorithms
 
14. containers, vector, list
14. containers, vector, list14. containers, vector, list
14. containers, vector, list
 
13. string, io streams
13. string, io streams13. string, io streams
13. string, io streams
 
12. standard library introduction
12. standard library introduction12. standard library introduction
12. standard library introduction
 
11. template
11. template11. template
11. template
 
10. copy and move
10. copy and move10. copy and move
10. copy and move
 
9. class hierarchies
9. class hierarchies9. class hierarchies
9. class hierarchies
 
8. abstract types
8. abstract types8. abstract types
8. abstract types
 
7. abstraction mechanisms, containers
7. abstraction mechanisms, containers7. abstraction mechanisms, containers
7. abstraction mechanisms, containers
 
6. separation, namespace, error
6. separation, namespace, error6. separation, namespace, error
6. separation, namespace, error
 
5. struct, class, enum
5. struct, class, enum5. struct, class, enum
5. struct, class, enum
 
3. tests, loops
3. tests, loops3. tests, loops
3. tests, loops
 
2. types, vars, arith, consts
2. types, vars, arith, consts2. types, vars, arith, consts
2. types, vars, arith, consts
 
1. preface, hello world
1. preface, hello world1. preface, hello world
1. preface, hello world
 

Recently uploaded

Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
drm1699
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 

Recently uploaded (20)

The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 

4. pointers, arrays

Editor's Notes

  1. در این ویدیو می خوام در مورد آرایه و اشاره گر ها و ارتباط بین اونا و referenceها یا ارجاع ها صحبت کنم.
  2. آرایه یک ساختمان داده ست که یک تعداد متغییر که از یک Typeهستند رو پشت سرهم قرار میده. برای تعریف آرایه کافیه مثل تعریف متغییر؛ type و اسم اون رو بنویسم و بعد داخل کروشه باز و کروشه بسته؛ تعداد عناصر پشت سر هم از اون type رو مشخص کنیم. توی این مثال یک آرایه 20تایی از متغییر های کاراکتری به نام c تعریف کردیم. برای دسترسی به عناصر آرایه باید اسم اون آرایه رو بنویسیم و در کروشه باز بسته شماره عنصری که می خوایم رو بنویسیم. اولین عنصر در آرایه از صفر شروع میشه و آخرین عنصر یکی از تعداد عناصر آرایه کمتره. اصطلاحا به شماره عنصری که بهش میخوایم دسترسی داشته باشیم index میگیم.
  3. برای پیمایش آرایه می تونیم از حلقه هایی که در ویدیوی قبلی یاد گرفتیم استفاده کنیم. دراین مثال 2 آرایه با 10 تا عنصر به نامهای v1 و v2 رو declare کریم. آرایه ی v1 رو به این صورت مقدار دهی اولیه کردیم. یک آکولاد باز و یک آکولاد بسته می نویسیم و مقادیر اولیه هر عنصر رو به ترتیب می نویسیم و با یک کاما از هم جدا میکنیم. این خط یعنی عنصر صفر رو مساوی عدد صفر قرار بده، عنصر یک رو مساوی یک قرار بده و الی آخر. و v2 رو مقدار دهی اولیه نکردیم. در C++ هر متغییری که Declare میکنید اگر مقدار دهی اولیه نکنید یک عددی درونش قرار خواهد گرفت که معلوم نیست مقدارش چیه. پس باید سعی کنید همیشه به متغییر هایی که declare می کنید مقدار اولیه بدید. بعد در حلقه for عناصر آرایه ی v1 رو ریختیم توی v2. یعنی تک تک عناصر v1 رو کپی کردیم توی عناصر متناظر در v2. عنصر صفرم از v1 رو رختیم توی عنصر صفرم v2 و عنصر یکم v1 رو توی عنصر یکم v2 و الی آخر. در مثال دوم عناصر داخل آرایه رو روی صفحه چاپ کنیم . در اینجا تعداد عناصر رو مشخص نکریم در نتیجه تعداد عناصر آرایه با تعداد مقادیری که جلوش برای مقدار اولیه دادن نوشتیم مشخص میشه. تعداد اونا هر چند تا باشه؛ تعداد عناصر آرایه برابر اون میشه. و در حلقه for هم تک تک عناصر رو روی صفحه چاپ کردیم.
  4. در این مثال میبینید که میشه عملیات ریاضی روی عناصر یک آرایه انجام داد. یک آرایه 10تایی تعریف کردیم و با مقادیر صفر تا 9 مقدار اولیه دهی کردیم. در حلقه for آرایه رو پیمایش کردیم و هر عنصر آرایه رو با اپراتور ++ یکی اضافه کردیم. بعد از اینکه حلقه اجرا بشه عناصر آرایه از 1 تا 10 خواهند شد.
  5. با استفاده از pointer یا اشاره گر به محل یا آدرس یک متغییر در حافظه اشاره می کنیم. با داشتن آدرس یک متغییر میتونیم به طور غیر مستقیم به اون متغییر دسترسی داشته باشیم و عملیاتی رو روی اون انجام بدیم. برای تعریف اشاره گر ابتدا type اون رو مشخص می کنیم و بعد از type یک * میگذاریم و بعد اسم اون رو می نویسیم. برای مقدار اولیه دادن باید از یک علامت & استفاده کنیم. اگر جلوی هر متغییر یک & بذارید این اپرتور آدرس اون متغییر رو در حافظه به شما بر میگردونه و میتونید اون آدرس رو در pointer ذخیره کنید. به صورت شماتیک می بینیم که اشاره گر p داره به عنصر سوم آرایه ی v اشاره می کنه. این فلش به معنی اشاره کردن به آدرس یک متغییر هست که در اشاره گر ریخته شده. اگر بخوایم اشاره گر رو طوری مقدار اولیه بدیم که هنوز به جایی اشاره نکنه می تونیم اونو با Nullptr مقدار دهی کنیم. Nullptr یک مقدار خاصیه که به معنی هیچ جاست و فقط می تونیم از اون برای اشاره گر استفاده کنیم.
  6. در این اسلاید چند تا اشاره گر خاص رو بررسی می کنیم رشته یا string یکی از پرکاربردترین چیزهایی هستند که ما باهاشون سروکارداریم. یک سری از حروف الفبا که پشت سرهم قرار گرفته باشند رو رشته می گیم. از رشته ها برای ذخیره کردن پیغامها یا نامها استفاده میشه برای تعریف رشته به این صورت عمل می شه. یک اشارهگر کاراکتری که یک const هم قبلش می ذاریم. به این معنا که به یک پیغام اشاره می کنه که محتوای اون ثابته و تغییر نمیکنه. وقتی شما یک رشته تغریف می کنید کامپایلر به این صورت عمل می کنه یک آرایه کاراکتری جای اون میذاره که آخرین عنصر اون آرایه با صفر مقدار دهی شده. پس تعداد عناصر رشته برابر تعداد حروف و spaceهایی که در اون نوشته شده بعلاوه ی یک. در ویدیوی دوم در مورد typeها صحبت کردیم اگر یادتون باشه یکی از typeهایی که گفتیم void بود و گفتیم زمانی که از type اطلاعاتی نداشته باشیم از نوع void استفاده می کنیم. اشاره گر از نوع void می تونه به هر typeیی اشاره کنه. یک مثال از اون رو می بینیم. گاهی خیلی خوبه که یک اشاره گر به یک تابع داشته باشیم. برای اشاره کردن به یک تابع با این صورت عمل می کنیم. فرض کنید که امضای تابع به این صورت باشه. برای تعریف اشاره گر به اون باید امضای اون رو بنویسیم و با پرانتز یک * قبل از اسم اشاره گر مشخص کنیم که یک اشاره گر به تابع هست.
  7. برای پیمایش آرایه می شه از اشاره گر استفاده کرد. در این مثال یک تابع داریم که تعداد تکرار حرف x رو در آرایه ی کاراکتری p میشماره و برمی گردونه. p یک رشته است که در انتهای اون یک صفر قرارداره. در خط 6 در صورتی که اشاره گر به هیچ جا اشاره نکنه مقدار صفر رو بر میگردونه. یه متغییر به نام count تعریف کردیم که تعداد تکرار رو باهاش میشماریم. در حلقه for هم تعداد تکرار رو شمردیم. به این صورت که در شرط if چک کردیم که اگر مقدار p برابر x بود یکی به مقدار count اضافه میکنیم. همون طور که گفتم در داخل اشاره گر آدرس یک متغییر ذخیره شده و برای اینکه به مقدار خود متغییر دسترسی داشته باشیم باید به صورت غیر مستقیم عمل کنیم برای این کار باید قبل از اشاره گر یک علامت * بگذاریم. به این کار می گیم de refference کردن اشاره گر یعنی برو به آدرسی که در اشاره گر هست و مقدار آون رو برای من بیار. با ++ کردن یک pointer مقدار اون رو به اندازه ی سایز متغییر که به اون اشاره می کنه اضافه می کنیم یعنی به متغییر بعدی اشاره می کنه. و در آخر هم مقدار count رو بر گردوندیم.
  8. Reference یا ارجاع مشابه pointer هست. یعنی با استفاده از reference می تونیم به یک متغییر دیگه ارجاع بدیم و یک عملیاتی رو روی اون انجام بدیم ولی بر خلاف pointer که به صورت غیر مستقیم این کار رو میگردیم با referenece به صورت مستقیم به اون متغییر دسترسی داریم. برای تعریف reference باید type رو مشخص کنیم و بعد از type یک علامت & میذاریم و اسم اون رو مینویسیم. Reference یک نکته خیلی مهم داره و اونم اینه که وقتی یک reference تعریف می کنید حتما باید مقدار دهی اولیه بکنیدش و نمی تونید اونو مقدار دهی نکنید. چون reference مستقیم عمل میکنه پس نمی تونه به هیچ جا ارجاع نده. در نتیجه reference دقیقا مثل خود اون متغییر هست که بهش ارجاع شده و هر کاری که روی reference انجام بدین درست مثل اینه که روی خود اون متغییر انجام دادین. پس مثال های بالا غلط هستند. و باید به این صورت باشند.
  9. مطالبی که گفتیم رو جمع بندی کنیم. در این ویدیو در مورد تعریف کردن آرایه ها و دسترسی به عناصر آرایه گفتیم. و pointerها رو معرفی کردیم که میتونن آدرس یک متغییر رو نگه دارند و به صورت غیر مستقیم به یک متغییر اشاره کنن و در آخر reference رو گفتیم که بر خلاف pointer به صورت مستقیم یک متغییر رو نگه می داره و دسترسی مستقیم به اون متغییر رو فراهم میکنه امید وارم مفید بوده باشه با تشکر