Professional Documents
Culture Documents
التعامل مع المؤشرات
التعامل مع المؤشرات
ﻐﻟﺍﺕ Pointersﻓﻲ
ﺮﺆﺷ
ﻤﻟﺍ
ﻊﻞﻣ
ﻣﺎﻌ
ﺘﻟ
ﺍ
ﺓ
ﺮﻛﺍ
ﺬﻟ
ﺍﻊﻗ
ﺍﻮ
.1ﻣ
ﺔﻤ
ﻴﻗﻳﻦ
ﺰﺘﺨ
ﻡﺑﻮ
ﻘﺓﻭﺗﻛﺮ
ﺍﺬﻟ
ﺍﻓﻲﻊﻗﻮﺔﻣﻧ
ﺎﺜﻞﻛﻞﺧﻤ
ﻴﺚﺗ ﺪ٬ﺣ ﻳ
ﺮﺒﻟﺍ
ﻳﻖ ﺩﺎﻨﺜﻞ ﺻﺓﻣﺮﻛﺍ
ﺬﻟﺍﻜﻞﺮﺷﺒﺘ
ﻌﻧﺃﻥ ﻜﻦﻤﻳ
ﻳﻦ
ﻭﺎﻨ
ﻴﻞﻋﺜ
ﻤﻢﺗ
ﺘﺍﻥ٬ﻭﻳﻮﻨ
ﻪﻋﺓﻟﻛﺮﺍﺬ
ﻟﺍﻊﻓﻲﻗ
ﻮﻭ ٬(charﻛﻞﻣ ﺍﺔ floatﻘ
ﻴﻘ
ﻭﺣ ﺍﺔ int
ﻴﺤﻮﻥ ﺻﺤﻜﺪﺗ ﻗ
ﺓ)ﺪﻴ
ﻭﺣ
ﻠﻰ
ﻌﻓﺋﻲ٬ﺎ
ﻨ
ﺜﻟ
ﺍﻡﺎ
ﻨﻈﻟ
ﺍﻡﺍ
ﺪﺘﺨ
ﺎﺳﺑ
ﺜﻞﻤﻳﺍﻻﺻﻞ ﻪﻓﻲﻧ
ﺍﻮﻥ ﻴﻞﻛ ﻬ
ﺘﺴﻟﺍ
ﺎﺏ ﺑﺮﻱﻣﻦ ﻟﺴﺖﻋﺸ ﺍﻡﺎ
ﻨﻈﻟ
ﺍﻡﺍ
ﺪﺘﺨﺎﺳﺑﺓ
ﺮ ﻛ
ﺍﺬ
ﻟﺍ
ﻠﻰ
ﺎﺕﻫﻲ 1111ﻋﻧﺎ
ﻊﺧ ﺑ
ﺭﻟﻰﺍﺎﺝﺇﺘ
ﻮﻑﻧﺤ ﺎﺳﻨ
ﻧﺈ
ﺋﻲﻓ ﺎﻨ
ﺜﻟ
ﻡﺍﺎ
ﻨﻈﻟ
ﻡﺍ ﺍﺪ
ﺘﺨ ﺎﺳ
ﻢ 15ﺑﻗﺔﺭ ﻧﺎ
ﻟﺨ
ﻴﻞﺍﺜ
ﻤﺘﺎﻝﻟﺜﻤ
ﻟﻴﻞﺍﺒ
ﺳ
ﺓﻫﻲ . Fﺪﺍﺣ
ﺔﻭ ﻧ
ﺎﺑﺨ ﺎ
ﻬﻠ
ﺜﻤﻳ
ﺬﻱ ﻟ
ﺍ ﺮﻱﻟﺴﺖﻋﺸﺍ ﻡ
ﺎﻨﻈﻟ
ﺍ ﻜﺲﻋ
ﺓ
ﺮﻛﺍ
ﺬﻟ
ﺍﺎﻁﻓﻲ
ﻤﻧ
ﺍﻷﻢ
.2ﺣﺠ
ﺓ.
ﺮﻛﺍ
ﺬﻟ
ﺎ
ﺑﻮﻻﺕ ﺘﺤ
ﻤﻟﺍﺔ
ﻧﻮﻨ
ﺔﻋﻘ
ﻳ
ﺮﺑﻄﺮﻴ
ﻛﺬﺘ
ﻟﺍ
ﺪﻣﻦﺑﺍﺕﻻﺮﺆﺷﻤ
ﻟﺎ
ﺑﻮﺽﻧﺨﺃﻥﺒﻞ
ﻗ
ﺎ
ﻬﻤﻊﺣﺠ
ﺎﺳﺐﻣﻨ
ﺘﻳﺎ
ﻤﺑﺓ
ﻛﺮﺍﺬ
ﻟﺍﻓﻲﺍ
ً
ﺰﻴ
ﺬﺣﺄﺧ
ﺎﺗ
ﻬﻧ
ﺈﻣﺞ٬ﻓﺎ
ﻧﺮ
ﺒﻟ
ﺍﻮﻻﺕﻓﻲﺘﺤ
ﻤﻟﺍ
ﻳﻒﺮ
ﻌﺘﺑ
ﻡﻮﻘﻧ
ﺎﻣﺪ
ﻨﻋ
1 Char
2 Int
4 long
4 float
8 double
ﺎﻝ :
ﺜ
ﻤﻟﺍ
ﻴﻞﺒ
ﻠﻰﺳ
ﻌﻓ
)(void main
{
float F=32.5;.
c ha’=rC ’A;
;int I= 2
}
ﻠﻰ
ﺓﻋﺮ
ﻛﺍﺬ
ﻟﺎ
ﺑﻢﻬ
ﻠﻴ
ﺜﻤ
ﺗﻮﻥ
ﻜﻴﻮﻝ Iﻭﺳ
ﺘﺤﻤ
ﻠﻟﻴﻦ
ﺗ
ﺮﻮﻝ Cﻭﺣﺠ
ﺘﺤﻤ
ﻠﻟﺓ
ﺮﻮﻝ Fﻭﺣﺠ
ﺘﺤﻤ
ﻠﻟﺍﺕ
ﺮﺰ 4ﺣﺠ
ﻢﺣﺠ ﺘ
ﻴ
ﻓﺴ
ﻟﻲ
ﺎﺘ
ﻟﺍ
ﻜﻞﻟﺸﺍ
Memory
Address
:
:
20004
20005
F
20006 32.5
20007
20008 A C
20009
2000a 2 I
2000b
2000c
:
ﻜﻲ
ﻴﺗ
ﺎﺘ
ﻻﺳﺍ
ﺰﻟﺤﺠ
.3ﺍ
ﻜﻲ
ﻴﻣﺎ
ﻨ
ﻳﺪﻟ
ﺍﺰﻟﺤﺠ
.4ﺍ
ﻴﺴﺖﻟﺔﻴ
ﻤﻜﻟ
ﺍﺔﻭ ﻴ
ﻤﻜﻟ
ﺍﻩﺬ
ﺃﻋﺮﻑﻫ ﻡﻭﻻﺪﺘﺨ
ﻤﺴﻟﺎﺍ
ﻬﻠﺪﺧﺔﻳ
ﻳﺩﺪﺎﺕﻋ ﻴ
ﻌﻄﻴﺐﻣ ﺗ
ﺃﺟﻞﺗﺮ ﻣﺞﻣﻦ ﺎﻧ
ﺪﺑﺮﻳ
ﺮ ﺎﻧﻨﻧ
ﺃﺮﺽ ﻔﻨ
ﻟ
ﻴﻦﺘ
ﻘﻳﺮﺪﻃﻮﺟﻳﻟﻚ ﺃﺟﻞﺫﻤﻦ ﻪﻓﺘﺑ
ﺎ
ﺛ
ﺓﺮﻛﺍ
ﺬﻟ
ﺓﻣﻦﺍﺮﻴﺒﺔﻛﻴ
ﻤﻨﺤﺠﺰﻛﺎﺳﻨ
ﻫﺔﻭ ﻌ
ﻗﻮﺘ
ﻤﻟ
ﻢﺍﻴﻘﻟ
ﻳﻦﺍﺰﺘﺨﻟﻔﻲﻜﻴﺚﺗﺮﺑﺤﻴﺒ
ﻢﻛﺍﺕﺣﺠ ﺔﺫﻓﻮ
ﻔﺰﻣﺼ ﺃﻥﺃﺣﺠ ﻟﻰ :ﻭ
ﺍﻷ
ﻜﻲ ﻴ
ﺗﺎ
ﺘ
ﺍﻻﺳ ﻟﺤﺠﺰﺍﻳﻖ ﻋﻦﻃﺮ
ﻜﻲﻴﻣﺎ
ﻨﻳ
ﺪﻟ
ﺍﻟﺤﺠﺰﺍ
ﺍﺕﻭﺮ ﺆﺷﻤﻟﺍﻡ
ﺍﺪ
ﺘﺨﺍﺳﻳﻖ ﺮﺔ :ﻋﻦﻃ ﻴﻧ
ﺎﺜ
ﻟﺍ
ﻩﺬﻬﻟ
ﺎﻬﻨ
ﻤﺰﺿ ﻟﺤﺠﻢﺍﺘ
ﻣﺞﻳ ﺎ
ﻧﺮﺒ
ﻠﻟﺔ
ﻴﻜﻴ
ﻣﺎ
ﻨﻳ
ﺓﺩﺮﻛﺍﻴ ﺺﺫﺗﺨﺼ ﻮﺔﻫﻴﻜﻴ
ﻣﺎ
ﻨﻳﺪ
ﻟﺍﻮﻻﺕﺘﺤﻤﻟﺍ
ﻊ ﻣﻞﻣﺎ
ﻌﺘﻠ
ﺎﺳﻲﻟ ﺃﺍﻻﺳ ﺪﺒ
ﻤﻟﺍ
ﺇﻥ
ﺪ.ﻌ
ﺑﺎﻤ
ﻴﻓﺮﻯ (ﺍﺧﺎﺕﻣ
ﺍﺪ
ﺘﺨﺓﻻﺳﺯﻮﻤﺤﺠﻟ
ﺍ ﺓ
ﺮﻛﺍﺬ
ﻟﺍﺓ
ﺩﺎﺇﻋ
ﺰ) ﻟﺤﺠ
ﺍﺮﻳﺮﺗﺤﻢﺘ
ﻳءﺎ
ﻬ ﺘ
ﻧﺍﻻﺪﻌﺑ
ﺎﻭﻬﻣﺍ
ﺪﺘﺨﻮﻻﺕﻭﻻﺳ ﺘﺤ
ﻤﻟﺍ
ﻣﺞ (ﺎ
ﻧﺮ
ﺒﻟ
ﺬﺍﻴﻔ
ﻨﺗﺬ)ﻴﻔ
ﻨﺘ
ﻟءﺍ
ﺎﻨ
ﺛﺓﺃﺮ
ﻛﺍﺬ
ﻟﺍﺕﺍﺮ
ﻴﺺﺣﺠ ﻫﻲﺗﺨﺼ ﺓﻭ ﺮ
ﻛﺍﺬ
ﻟﻊﺍﺓﻣﺪﻳ
ﺪﺔﺟ ﻘﻳ
ﺮﻊﻃ ﻞﻣ ﻣ
ﺎﻌﺘﻨﻻﻥﺳ ﺍﻧﺤﻦﺍ ﺫﺇ
ﻣﺞ .ﺎﻧ
ﺮﺒﻟ
ﺍﺔﻤﺮﺟ
ﺔ )(compileﺗ ﻤﺮﺟ ﺘ
ﻟﺍ
ءﺎﻨﺛﺃﻴﺲ ﻟ
ﻭ
ﺎ؟ﻬﻨ
ﺮﺡﻋ ﻧﺼ ﻮﻑﻴﻒﺳ ﻛﺔﻭﻴﻜ
ﻴﻣﺎ
ﻨﻳ
ﺪﻟ
ﺍﻮﻻﺕ ﺘﺤﻤﻟ
ﺍﻩﺬﻣﻞﻫﺎ
ﻌﺘﻟ
ﺍ ﺎ
ﻨﻨﻜ
ﻤﻳﻴﻒ ﻜﻦﻛ ﻟ
ﻭ
ﻩﺬ
ﻬﻢﺑ
ﺘﺘ
ﺔ Heapﻭﺳ
ﻣﻮﻜ
ﻟﻤﻰﺍﺘﻲﺗﺴ
ﻟ
ﺍﺔ–ﻭﻴﻜ
ﻴﻣﺎ
ﻨ
ﻳﺪﻟ
ﺍ
ﺓ-ﺮﻛﺍ
ﺬﻟ
ﻟﻰﺍﻳﻦ (ﺇ
ﻭﺎ
ﻨﺍﺕ )ﻋ
ﺮﺆﺷﻡﻣﺍ
ﺪﺘﺨ
ﺎﺳﻟﺤﺠﺰﺑﺔﺍ
ﻘﻳﺮ
ﻢﻃ ﺘ
ﺗ
ﺓﺑﻞﻋﻦﺎﺷﺮ
ﺒ
ﻢﻣﺘ
ﻳﺔﻻﻴﻜ
ﻴﻣﺎ
ﻨﻳ
ﺪﻟ
ﺍﻮﻻﺕﺘﺤ
ﻤﻟ
ﺍﻡ
ﺍﺪﺘﺨ
ﺍﺳﺃﻥﺔ
ﻟﺨﻼﺻ ﺍ
ﺎ ,ﻭﻬﻴ
ﻟﺇ
ﺎﻭﻬﻨﺓﻣ
ﺩﺎ
ﺍﻻﻋﺬﻭ
ﺍﻻﺧﺓﺮﻜﺒﺐﻓﺑﺴﺔﻘ
ﻳﺮﻟﻄ
ﺍ
ﺆﺷﺮ.ﻳﻖﻣﺮﻃ
ﺓ
ﺮﻛﺍ
ﺬﻟ
ﺍﻻﺕﻓﻲ
ﻮﺘﺤ
ﻤﻟ
ﺍﻳﻦ
ﻭﺎ
ﻨ .5ﻋ
ﺓ.
ﺮﻛﺍ
ﺬﻟ
ﺍﺔﻌ
ﻟﺴﻤﻰ
ﻌﻈﻟ
ﺍﺔﻤ
ﻴﻘ
ﻟﺎ
ﺑﻬﻲ
ﺘﻨ
ﻳﺃﻣﻦ 0ﻭﺪ
ﺒﻳﻢ
ﻗﻮﺭ
ﺍﻥﻫﻮﻨ
ﻌﻟ
ﺍﺩ,ﻭ
ﺪ
ّﺍﻥﻣﺤﻮ
ﻨﺎﺳﺐﻋﻟﺤ
ﺍﺓ
ﺮ ﻛﺍ
ﺎﺫﻳ
ﺔﻣﻦﺧﻼ ﻴﻠ
ﻜﻞﺧ ﻟ
ﻮﻝﺘﺤ
ﻤﻟ
ﺍﺍﻥ
ﻮﻨ
ﻨﻲﻋﻌ
ﺗﻮﻝﻭﻫﻲﺘﺤﻤ
ﻟﺍﺒﻞﻗ
ﺓ& ﺎﺭ
ﺍﻹﺷﺔ
ﻓﺎ
ﺈﺿﺑﻡﻮﻘ
ﻧﺓﺮﻛ
ﺍﺬ
ﻟﻓﻲﺍﻮﻝ
ﺘﺤﺍﻥﻣ
ﻮ ﻨ
ﺮﻑﻋ ﻌﻧﺍﻥﻊﻴﺘﻄﻧﺴﻛﻲ
) ٬(Address Ofﻻﺣﻆ :
"#include "iostream.h
"#include "conio.h
)(void main ﻮﻯ ﺘﺮﻣﺤﻬﻳﻈ ﺍﻥ
ﻮﻨ
ﺮﻋﻬﻳﻈ
{ ﻝﻮﺘﺤ
ﻤﻟ
ﺍ ﻮﻝﺘﺤ
ﻤﻟ
ﺍ
;int x
;" cout << "Enter Number:
;cin >> x
;cout << "\nThe Number is:" << x << endl
;cout << "\nand The address in memory is: "<< &x << endl
;)(getch
}
ﺔ:
ﻴﻟ
ﺎﺘ
ﻟ
ﺍﺔﻴﺠ
ﺘ
ﻨﻟ
ﺍﻟﻲ
ﺮﻱﻬ
ﺗﻈﻣﺞ
ﺎﻧ
ﺒﺮ
ﻟﺍ
ﺔﺑﺮ
ﺗﺠﺪ
ﻨﻋ
Momery
Address
:
0x0012FF78
0x0012FF79
0x0012FF7a
0x0012FF7b
0x0012FF7c
0x0012FF7d
0x0012FF7e 5 X
:
:
ﺎﻬﻨ
ﻳﺢﻋﺮﺘﺼﻟ
ﺍ
ﺍﺕﻭﺮﺆﺷﻤﻟ
.6ﺍ
ﺍﻥ
ﻮﻨ
ﻌﻟ
ﺍﻟﻰ )(Point to
ﺍﻴﺮ
ﻳﺸﻮ
ﻫﺔ(٬ﻭ
ﻳﺩ
ﺎﺔﻋ
ﻤﻴﻗ
ﻴﺲﻟ
ﻭﺓ)
ﻛﺮﺍ
ﺬﻟ
ﺍ ﻓﻲﺍﻥﻮﻨ
ﻠﻰﻋﻮﻱﻋﺘ
ﻮﻝﻳﺤﺘﺤﺓﻋﻦﻣﺎﺭ
ﺒ
ﺮﻋ ﺆﺷﻤ
ﻟﺍ
ﺮ ...
ّﺧﺍ
ﻮﻝﺘﺤ
ﻟﻰﻣﺇﺮ
ﻴﻳﺸﻮ
ﻬﻟﻲﻓﺎ
ﺘﻟ
ﺎ
ﺑﻪﻭﻳ
ﻮﺘﻳﺤﺬﻱ
ﻟﺍ
ﻮﻉ int-
ﻧﺔﻣﻦ
ﻤﻴﻟﻰﻗ
ﺇﻴﺮ
ﻳﺸﺃﻱﻫﻞ
ﺎ)ﻬ
ﻴﻟ
ﺍﻴﺮ
ﻳﺸﺘﻲ
ﻟﺎﺕﺍﻴ
ﻌﻄﻤﻟ
ﺍﻮﻉﻧﺪ
ﻳﺪ
ﺘﺤﺑﻣﺞﺎ
ﻧﺮﺒ
ﻟ
ﺍﻓﻲﺆﺷﺮ
ﻤﻟﺍ
ﻳﺢﻋﻦ ﺮﺘﺼ ﻟﺍﻢﺘ
ﻳ
ﺮ.ﺆﺷ
ﻤﻟﺍ
ﻢﺍﺳﻢ
ﺛﺔ *ﻤ
ﻧﺠﻣﺰ(ﻟﺮ
ﺍﺔ)
ﻣﻌﻼﻟ
ﺍﺔﻓ
ﺎﺍﺿﻢ
(.. char-floatﺛ
Memory
ﺮ<
ﺆﺷﻤ
ﻟﺍﺎ
ﻬﻟﻴﺮ
ﻳﺸﺘﻲ
ﻟ
ﺍﺎﺕ
ﻴ
ﻌﻄﻤ
ﻟﺍﻮﻉ
ﻮﻝ< * >ﻧ
ﺘﺤﻣ
>
;int *iPtr
;float *fptr
;double *dptr
ﻌﻲ:ﺍﻣﻮﻻﺣﻈ
ﻴﻦ
ﺗ
ﺎﺎﺕﻫ
ﻳﻮ
ﺘﻣﺤﻴﻦﻭ ﺗﺮ
ﻟﻒﻣﻦﺣﺠ ﺄ
ﺘﺓﻳ
ﺮﻛﺍ
ﺬﻟ
ﺍﻓﻲﺍﻥﻮﻨ
ﺃﻱﻋ ﻴﺢ ,
ﻟﺼﺤﺍﻮﻉﻨ
ﻟﺍﺮﻣﻦﺆﺷﺓﻋﻦﻣﺭﺎ
ﺒﻮﻋﻮﻝ iptrﻫﺘﺤﻤﻟ
ﺍ
ﺔ .ﻴﺤ
ﺩ ﺻﺤﺍﺪ
ﺃﻋﺎﻬﻧ
ﺃﻠﻰ
ﺮﻋﻔﺴﺗﻮﻑ ﻴﻦﺳ ﺗ
ﺮﻟﺤﺠ
ﺍ
ﺍﻥ
ﻮﻨ
ﻪﻋﻧ
ﻠﻰﺃﻢﻋﻬﻔﻮﻝﻳﺘﺤ
ﻤﻟﺰﻥﻓﻲﺍ ﻤﺨ
ﻟﺍﻥﺍ
ﻮﻨﻌﻟ
ﻘﻲ ,ﺃﻱﺃﻥﺍﻴ
ﻘﻟﺤ
ﻮﻉﺍﻨﻟ
ﺆﺷﺮﻣﻦﺍﺓﻋﻦﻣ ﺎﺭ
ﺒﻮﻋﻮﻝ fptrﻫﺘﺤ
ﻤﻟ
ﺍ
ﺔ .ﻴﺤ
ﺩ ﺻﺤﺍﺪ
ﺃﻋﺍﺕﺮﻟﺤﺠ
ﺍﻩﺬﺎﺕﻫﻳﻮﺘ
ﻣﺤﺎﺕﻭ ﺘ
ﻳﺎ
ﺑﺔﻌﺑ
ﺭﺃﻮﻝﺑﻄﺓ
ﻛﺮﺍ
ﺬﻟ
ﺍﺔﻣﻦ ﺎﺣﺔﻣﺴﻳ
ﺍﺪ
ﺑ
ﺍﻥ
ﻮﻨ
ﻪﻋﻧ
ﺃﻠﻰﻢﻋﻬﻔﻳﻮﻝﺘﺤ
ﻤﻟ
ﺍ ﺰﻥﻓﻲﻤﺨﻟ
ﺍﺍﻥﻮﻨ
ﻌﻟ
ﺍﺃﻥﺃﻱﺎﻋﻒ ,ﻤﻀﻟﺍﻮﻉﻨ
ﻟ
ﺍﺮﻣﻦ ﺆﺷﺓﻋﻦﻣﺭﺎ
ﺒﻮﻋﻮﻝ dptrﻫ ﺘﺤ
ﻤﻟ
ﺍ
ﺎﻋﻒ .ﻤﻀﻟﺍﻤﻂ ﻨ
ﻟ
ﺍﺩﻣﻦﺍﺪ
ﺃﻋﺍﺕﺮﻟﺤﺠ
ﺍﻩﺬﺎﺕﻫﻳﻮﺘ
ﻣﺤﺎﺕﻭ ﺘ
ﻳﺎ
ﺑﺔﻴ
ﻧﺎ
ﻤﺛﻮﻝﺑﻄﺓ
ﻛﺮﺍ
ﺬﻟ
ﺍﺔﻣﻦ ﺎﺣﺔﻣﺴﻳ
ﺍﺪ
ﺑ
ﺎﻝ :
ﺜ
ﻤﻟﺍ
ﺍﺬ
ﺓ٬ﻻﺣﻆﻫ
ﻛﺮﺍ
ﺬﻟ
ﺍﻓﻲ
ﺮﻴﻐ
ﺘﻤﻟ
ﺍﺍﻥ
ﻮﻨ
ﺪﻋﻴ
ﻌﻳﺰ&
ﻣﻟﺮ
ﺍﺍﻥ
ﺎﻨ
ﻘﻔ
ﺗ
;int y = 5
;int *yPtr
ﺍﻥ yPtr = &y; // y
ﻮﻨ
ﺬﻋﺄﺧ
ﺗyPtr
ﻴﻦ:ﺘ
ﻠ
ﺮﺣﻠﻰﻣﻢﻋﺘ
ﻳﺮﺆﺷ ﻤ
ﻟﺍءﺎ
ﻧﺸﺍ
ﺍﻥ
ﻮﻑﻨﻲﺍﻥ yPtrﺳ
ﻌﻟﻚﻳﺓﻭﺫ ﺮﻛﺍ
ﺬﻟ
ﻮﻝﻓﻲﺍﺘﺤﺍﻥﻣ
ﻮﻨﻪﻋ ﻴ
ﻟﺪﺍﺘ
ﺔﻧﺴ ﻴ
ﻧﺎ
ﺜﻟ
ﺮ yPtrﻭﺍﺆﺷﻤ
ﻟﺎﻋﻦﺍﻬﻴ
ﻠﻦﻓﻌﻟﻰﻧﻭﺍﻻ
ﻨﻰﻌ
ﻤﻳﻖ yPtrﺃﻱﺑ
ﺮﺮﻋﻦﻃ ﺎﺷ
ﺒﺮﻣﻴﻜﻞﻏﻊ yﺑﺸ
ﻣﻞﻣﺎﻌﺘﻟ
ﻜﻦﺍ ﻤ
ﻤﻟﻟﻲﻣﻦﺍﺎ
ﺘ
ﻟﺎﺓﻭﺑﺮﻛﺍ
ﺬﻟ
ﻮﻝ yﻓﻲﺍﺘﺤﻤ
ﻟﻟﻰﺍ
ﺇﺮﻴ
ﻳﺸ
ﺮ. yPtrﺆﺷﻤﻟ
ﺍﺎ
ﻬﻴﻟ
ﺍﺮﻳﺸﺘﻲ
ﻟﺍﺔ
ﻤﻴﻘﻟ
ﺍﻮﻯ ﺘ
ﺎﻣﺤﻬﻔﺴ
ﻧﺔﻫﻲﻤﺴ ﻟﺨ
ﺍﺍﺧﻞ yﺔﺩﻤ
ﻴﻘ
ﻟﺍﺒﺤﺖﺃﺻﺮﺃﺧ
ﻳﻦ
ﺰﺘﺨﺓﻟ
ﻬﺰﻬﻲﻣﺠ ﻓ
ﻪ)ﻳ
ﻮ ﺘ
ﺬﻱﺗﺤ ﻟﺍﻥﺍ
ﻮﻨﻌ
ﻟﻢﺍ
ﻮﺣﺠ ﺓﻭﻫ ﻛﺮﺍ
ﺬﻟﻢﻓﻲﺍﻟﺤﺠﻔﺲﺍﺎﻧﻬﺮﻟﺆﺷ
ﻮﻉﻣ ﻮﻻﺕﻣﻦﻧ ﺘﺤﻤ
ﻟﻛﻞﺍ
ﻳﻦ(
ﻭﺎﻨ
ﻌﻟ
ﺍ
Example:
ﻡﻘﻮﻳﻢ
ﺛﻣﻦﺎ,ﻭﻤ
ﻬﻨﻳ
ﻭﺎ
ﻨﺔﻋﺎﻋﺒ
ﺑﻄ ﻡﻮﻘ
ﻳﻢﺛ ﻣﻦ ﻴﻦ 1 , 5ﻭ
ﺘﻤﻴ
ﻘﻟ
ﺎ
ﺑﺎﻤ
ﻬﺌﻴﻬ
ﻳﻴﻦ x , yﻭﻟ
ﻮﺘﺤ
ﻤﻟﺍ
ﻳﻒ ﺮﻌﺘ
ﺑﻡﻮﻘ
ﻳﻣﺞ ﺎ
ﻧﺮﺒﻟﺍﺍ
ﺬﺇﻥﻫ
ﻳﻒ ﻌﺮ
ﺗﺪﻯﻟﻪﻧﺃ
ﻡﻠﻮﻌ
ﻤ ﻟ
ﺍﻣﺮ.( int * x) :ﻣﻦﺍﻷ ﻟﻚﻣﻦﺧﻼﻝ ﺫﺔﻭﻴﺤ
ﺔ ﺻﺤ ﻤﻴﻗﻟﻰ
ﺇﺮﺆﺷﻮﻉﻣ ﻧﻮﻝﻣﻦ ﺘﺤﻳﻒﻣ ﺮﻌﺘ
ﺑ
ﺜﻞﻤﺗﺔﻤﻴ
ﻘ
ﻟﺍﻩ
ﺬﺈﻥﻫﻓﺍﺕﺆﺷﺮﻤ ﻟ
ﺍ ﻓﻲ ﻜﻦﻟﺔ,ﻭ ﻴ
ﺋﺍ
ﻮﺔﻋﺸ ﻤﻴﻗ
ﺬﺄﺧﻳﺃﻥﻜﻦﻤﻳﻟﻲ ﺎ
ﺘﻟ
ﺎﺑ
ﺔ,ﻭﻤ
ﻴﻗﺔﻳ
ﺃﻪ ﻟ
ﻮﻥﻜﺗﻟﻦ ﻪ
ﻧﺈﺎﻓﻮﻝﻣﺘﺤﻣ
ً.
ﺍ
ﺩﺪ
ًّﻣﺤ ﺎ
ﻧﺍ
ﻮﻨ
ﻪﻋ ﻴﻓﻊﻧﻀﺃﻥﺆﺷﺮﺃﻱﻣ ﻡﺍﺪﺘﺨﺍﺳﺒﻞ
ﻮﺟﺐﻗ ﺘﻳﺍ
ﺬﻟ
ﺓ.ﻭ
ﺮ ﻛﺍ
ﺬﻟﺍًﻣﻦﺎ
ﻧﺍ
ﻮﻨ
ﻋ
ﺮﻴﻳﺸﺪﻗﺆﺷﺮﻤﻟ
ﺍﺈﻥﻓﺇﻻ
ﻩﻭﺪﻳﺪﺗﺤ ﻳﺠﺐ ﺍﻥﻨﻮﻌﻟ
ﺍ ﺍ
ﺬ ﻫﺎ,ﻭ
ﻮﻉﻣﻧﻮﻝﻣﻦ ﺘﺤﺍﻥﻣ ﻮﻨﻤﻞﻋﺮﻳﺤﺆﺷﻤﻟﺍ
ﺇﻥﻮﻝ :ﻘﻟﺍﺔﻭﺧﻼﺻ
ﺩ.
ﻮﻘﺼﻤﻟ
ﺍ ﺎﻥ
ﻜ ﻤﻟ
ﺍﻴﺮﻟﻰﻏﺇ
ﺮ
ﺆﺷﻤ
ﻟﺍﺔ
ﻳﺎ
.7ﻏ
ﻡﺪﺘﺨﻧﺴ ﺎ
ﻨﻨ
ﻜﻟﻮ ٬varPtrﻭ
ﺮﻫ ﺆﺷﻤ
ﻟﺍﻢ
ﺍﺳﺍﻥﻴﺚ
ﺔ )(int *varPtrﺣ
ﻐﻴﻟﺼ
ﺍﻡﺪ
ﺘﺨﺎﻧﺴ
ﻨﻧ
ﺈﺮﻓﺆﺷ
ﻌﺮﻑﻋﻦﻣ ﻧﺎ
ﻣﺪﻨ
ﻋ
ﺆﺷﺮ ٬varPtrﻤ
ﻟﺍﻪ
ﻴﻟ
ﺍﻴﺮﻳﺸ ﺬﻱﻟ
ﺍﻮﻝﺘﺤ
ﻤﻟ
ﺍﺎﺕﻳ
ﻮﺘ
ﻟﻰﻣﺤﺇﻮﻝ ﻮﺻﻟﺍﺍﺟﻞ ﺮ(ﻣﻦﻴ
ﺒ
ﻌﺘﻛ
ﻣﺞ )ﺎ
ﻧ
ﺒﺮﻟﺍ
ﺍﺧﻞﺩ
ﺔ *varPtr
ﻐﻴﻟﺼﺍ
ﺮ
ﺆﺷﻤﻟﺍﺔ
ﻳﺎﻤﻰﻏ ﻳﺴ
ﻭ
ﻟﻰ :ﺇﻩ
ﺎ
ﺒﺘﻧ
ﺍﻻﺎ
ﻨ
ﻴﻠ
ﺍﻋﺬ
ﻜﻭﻫ
ﻪ varPtrﻭ
ﻤﺍﺳﺮﺆﺷ
ﻠﻦﻋﻦﻣﻌ
ﻧﺎﻨﻧ
ﺍﻨﻲﻌﺗﺍﻻﻋﻼﻥ ;int *varPtr ﺔﻠﻤﻡ *varPtrﻓﻲﺟﺍﺪ
ﺘﺨ• ﺍﺳ
ﻴﺢ .ﺩ ﺻﺤ ﺪﻮﻉﻋ ﻧﺔﻣﻦﻤﻴ
ﻟﻰﻗ ﺇ
ﺮﻴﻳﺸ
ﺔ
ﻤﻴﻘ
ﻟ
ﺍﻮﻯ ﺘ
ﻊﻣﺤ ﻣﻞﻣﺎ
ﻌﺘ
ﻧﺎ
ﻨﻧ
ﺍﻨﻲ
ﻌﺗﺮ ;cout << *varPtr ﻴﺒﻌﺘ
ﻣﺞﻛ ﺎ
ﻧﺮﺒﻟﺍﻓﻲ
ﻡ *varPtr
ﺍﺪ
ﺘﺨ• ﺍﺳ
ﺆﺷﺮ . varPtr
ﻤ ﻟ
ﺍﺎ
ﻬﻴ
ﻟﺍﺮ ﻴ
ﻳﺸﺘﻲﻟ
ﺍ
ﻪ:
ﻴﻟ
ﺇﺭﺎ
ﻤﺸﻟ
ﺍﻝﻮ
ﺘﺤﻤ
ﻟﺍﻟﻰ
ﺇﻝﻮ
ﻮﺻﻟ
.8ﺍ
ﻟﻲ:
ﺎ
ﺘﻟ
ﺍﺎﻝ
ﺜ
ﻤﻟﺍ
ﺎﻓﻲ
ﻤﻪﻛ
ﻧﺍ
ﻮﻨ
ﺮﻑﻋ
ﻌﺎﻧ
ﻨ
ﻨﻜﻟ
ﻪﻭﻤ
ﺍﺳﺮﻑ
ﻌﻧﻮﻝﻻ
ﺘﺤﺎﺕﻣ
ﻳ
ﻮﺘﻟﻰﻣﺤ
ﺇﻮﻝ
ﻮﺻﻟ
ﺍﻜﻦ
ﻤﻳ
Example:
// PointersSource.cpp :
"#include "stdafx.h
>#include <iostream.h
)(int main
{
;int x = 1, y = 5
;int * ptr
;ptr = &x
;cout<<endl<<*ptr
;ptr = &y
;cout<<endl<<*ptr
;return 0
}
ﺍﻥ
ﻮﻨ
ﻊﻋﻜﻦﻭﺿﻤﻳ
ﻮﻉﻭﻻﻨ
ﻟ
ﺍﻔﺲﻧﺮﻣﻦﺆﺷ
ﻤﻟﺍ
ﻮﻝﻭﺘﺤ
ﻤﻟﺍﻮﻥﻜﻳﺃﻥ ﻳﺠﺐ ﺮﺆﺷﻤﻦﻣﺎﺿ ﻮﻝﻣﺘﺤ ﺍﻥﻣﻮﻨ
ﻊﻋﺪﻭﺿ ﻨ
ﻋ
ﻮﻉ .int ﻨﻟ
ﺍﻟﻰ
ﺇﺮﺆﺷ ﻤﻦﻣﻮﻉ floatﺿ
ﻧﻮﻝﻣﻦﺘﺤ
ﻣ
ﻮﻉﻣﻦﻧ
ﺃﻱﻟﻰ
ﺇﻴﺮ
ﻳﺸﺃﻥ
ﺮﺆﺷ
ﻤﻟﺍ
ﺍﺬ
ﻬﻟﻜﻦ
ﻤﻤﻟ
ﺍﻌﻞﻣﻦ
ﻳﺠﺜﻞ ) ( void * ptr
ﻟﻰ voidﻣ
ﺇﺮﺆﺷﺮﻣ ﺆﺷﻤﻟ
ﺍﻳﻒﻌﺮ
ﺗﻜﻦﻟ
ﺎﺕﻴ
ﻌﻄﻤ
ﻟﺍ
Example:
ﺎﺕ:
ﻣﻼﺣﻈ
ﺮﺆﺷﺎﺗﻊﻣ ﻢﻣﻨﺴﺠﺘﻲﺗﻟ
ﻮﻻﺕﺍ ﺘﺤﻤﻟ
ﺪﺍﺍﻥﺃﺣ
ﻮﻨﺬﻋ ﺄﺧ
ﻭﺃﻥﺗ ﻣﻞ newﺃﺎ
ﻌﻤﻟﺎًﺑ
ﺍ
ﺪﻳ
ﺪًﺟ
ﺎ
ﻧﺍ
ﻮﻨ
ﺬﻋﺄﺧ
ﺍﺕﺃﻥﺗﺮ
ﺆﺷﻤ
ﻠﻜﻦﻟ
ﻤﻳ
ﻜﻞﻟﺸﺎ
ﻢﺑ ﺘ
ﻣﻞ newﻳﺎﻌﻤﻟ
ﺰﻣﻦﺧﻼﻝﺍ ﻟﺤﺠﺍ
ﻠﻰ (floatﻭ
ﻮﺷﺮﻋ ﻟﻰﻣﻮﻝ intﺇ
ﺘﺤﺍﻥﻣ
ﻮﻨ
ﺩﻋﺎﻨ
ﺯﺇﺳﻮ
ﺃﻱﻻﻳﺠﻪ)ﻴ
ﻠﻋ
ﻟﻲ:
ﺎ
ﺘﻟ
ﺍ
;PointerVar=new datatype
ﺓ.
ﺮ ﻛﺍ
ﺬﻟ
ﺍﻓﻲﺪ
ﻳﺪﺎﻥﺟ ﻜﻢﺣﺠﺰﻣﺘﻳﺎ
ﻨ
ﻫ ﻪﻭﻨ
ﺎﻋﻨﺮﺣﺎﺻﻣﺪﻨ
ﺆﺷﺮﻋﻤ
ﻟﺍﺔ
ﻤﻴﻗ
ﻤﻂﻧﻴﺚ datatypeﻫﻲﺣ
ً(.
ﺎ
ﻨﻴ
ﻌًﻣﺎ
ﻧﺍ
ﻮ ﻨ
ﻤﻞﻋ ﻳﺤﺃﻥﺪﻌ
ﺑﺃﻱ ﻪ)ﺘﺌ
ﻴﻬﺗﻢ
ﺘﺗﺃﻥ
ﺪﻌﺑﺇﻻﺆﺷﺮﻤﻂﻣﻧﺬﻱﻣﻦﻟ
ﺍﻮﻝ
ﺘﺤﻤﻟ
ﺍﻮﻯﺘ
ﻟﻰﻣﺤﺇﻮﻝﻮﺻ ﻟﺍ
ﻜﻦﻤﻳﻻ
ﺔ:
ﻐﻴﻟﺼ ﺍ
ﻓﻖﻊ deleteﻭ
ﺑﺎﺘ
ﻟ
ﺍﻢﻣﻦﺧﻼﻝ ﺘﻳﺮ
ﺆﺷﻤ ﻟ
ﺍﺍ
ﺬﻬ
ﻟﺓﻮﺯ
ﻤﺤﺠﻟ
ﺍﺔﻳ
ﻛﺮﺍ
ﺬﻟ
ﺍﺔﻘ
ﻨﻄﻤ
ﻟﺍﻳﺮ
ﺗﺤﺮ ﺃﻱﺬﻑﻟﺤ
ﺍ
;delete PointerVar
ﺔﻴ
ﻠ
ﻤﺪﻋ ﻨ
ﻌﻣﻞ deleteﻓﺎ
ﻌﻤﻟ
ﺔﻋﻦﺍ ﻔ
ﻠﺘ
ﺔﻭﻫﻲﻣﺨ ﻤ
ﻴﻠﻰﺃﻱﻗﺮﻋ ﺆﺷﺮﻻﻳ ﺆﺷﻤﻟ
ﻨﻲﺃﻥﺍﻌ ﺔ NULLﺗ ﺎﺻ
ﻟﺨﺔﺍ ﻤﻴ
ﻘﻟ
ﺍ
ﺪﻨ
ﺎﻋﻤﻨ
ﻴﺎﺑﺓﻣﻟﺤﺠﺮ ﺮﻱﻛﺍ
ﺍﻥﺫﻮﻨ
ﺪﻋﻮﺟﻪﻻﻳ ﻠ
ﺍﺧﺃﻥﺩﺃﻱﺓﻛﺮﺍ
ﺬﻟ
ﺍﺎﻥﻓﻲﻜﺃﻱﻣﻪﻟﺪﻌﻢﻳﻟ
ﺮﺆﺷ ﻤﻟ
ﺍﺃﻥﻨﻲ
ﻌﺍﻳﺬ
ﻳﺮﻫ ﺘﺤﺮﻟ
ﺍ
ﺓ
ﺍﻮﺘ
ﻤﺤﻟ
ﺔﺍ ﻤﻴ
ﻘﻟ
ﻟﻰﺍﻮﻝﺇﻮﺻ ﻟ
ﺍﺮ(ﻭﻔ
ﻟﺼﺜﻞﺍﻣً)
ﺎﻴ
ﻠ
ﻌ ًﻓ
ﺎ
ﻧ
ﺍﻮﻨ
ﺜﻞﻋﻤﺔﻻﺗ ﺎﺻﺔﺧﻤﻴﻪﻗﻨﻲﺃﻥﻟﻌﺍﻳﺬ
ﺔ NULLﻫ ﻤﻴ
ﻘﻟﺩﺍﺎ
ﻨﺇﺳ
ﺄ.
ﺪﺧﻄ ﻟ
ﻮﻴ
ﻪﺳ ﻨﻤﺿ
ﻠﻰ
ﻪﻋ ﻟ
ﻮﻌﻔﺮﻱﻣ ﻳﺴﻮﻯﺘﻤﺤﻟ
ﺍﺮﻓﻲﻴﻴ
ﻐﺗﺃﻱﻟﻲﺎ
ﺘﻟ
ﺎ
ﺑ ﺍﻥﻭﻮ
ﻨﻌﻟ
ﺍﻔﺲﻧﻤﻞﺗﺤﺃﻥﻟﻰﺇﺩﻱﺆﻳﺍﺕ
ﺮﺆﺷ ﻤﻟ
ﺍﺩﺎ
ﻨ
ﺇﺳﺃﻥﻩﺎ
ﺒﺘ
ﻧﺍﻻﻳﺠﺐ
ﺔﻔ
ﻠ
ﺘﻢﻣﺨﻴﺍﺕﻣﻦﻗ ﺮﺆﺷﺩﻣﺎ
ﻨﺇﺳﺃﻥﺎ
ً
ﻤﻠ
ﺔﻋ ﻠ
ﻔﺼﻨﻳﻦﻣﻭﺎ
ﻨﻌﻟ
ﺍﻘﻰﺒ
ﺗﺓﻭﺪﺍﺣ
ﺓﻭﺮﻪﻣﻟﻮﻌﻔ
ﺬﻣﺄﺧﻴ
ﻢﻓﻴﻘ
ﻟﺍ
ﺮﻴﻴ
ﻐﺗﺎﻣ
ﺃﻴﻦﻟ
ﻮﺘﺤﻤﻟ
ﺍﻛﻼ
ﻢ
ﻴﻘ
ﻟﺎﺍ
ﻤﻨ
ﻴﺔ intﺑ
ﻤﻴﻠﻰﻗ
ﺮﻋﺆﺷ
ﻠﻰﻣ
ﻮﻱﻋ
ﺘﻪﺃﻥﻳﺤ
ﻨﻜﻤﺔ floatﻻﻳ
ﻤﻴﻠﻰﻗ
ﺆﺷﺮﻋﺮﺃﻱﻣ
ﺒ ﻛﻧﺖﺃﺎﻮﻛﺘﻰﻟﻮﻝﺣﺒﻘ
ﺮﻣﻴ
ﻏ
ﺎ.
ﻫﺎ
ﻨﻤ
ﻠﻌﺗﺘﻲ ﻟ
ﺍﺪ
ﺍﻋﻮﻘ
ﻟ
ﺍﻔﺲﻨ
ﻟﻊﺗﺨﻀﻤﻂ intﻭfloat
ﻧﺘﻲﻫﻲﻣﻦ
ﻟﺍ
ﻭﻝ ﺍﻷ
ﻢﻘﺴﻟ
ﺍ
ﺪ
ﺎﺷﻧ
ﺪﻤﺪﺱ :ﻣﺤﻨ
ﻬﻤﻟ
ﺍ