Pointers

548 views
505 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
548
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Pointers

  1. 1. Язык C Работа с указателями
  2. 2. Примеры указателей <ul><li>Указатель </li></ul><ul><ul><li>char *p </li></ul></ul><ul><li>Константный указатель </li></ul><ul><ul><li>char * const p </li></ul></ul><ul><li>Указатель на константу </li></ul><ul><ul><li>const char *p </li></ul></ul><ul><ul><li>char const *p </li></ul></ul>
  3. 3. Пример использования указателей <ul><li>char c=0x61; char *p=&c; printf(&quot;Символ: %x %c &quot;,c,c); printf(&quot;Указатель p: %x %c &quot;,*p,*p); const char *p1=&c; printf(&quot;Указатель на константу: %x %c &quot;,*p1,*p1); char * const p2=&c; printf(&quot;Константный указатель: %x %c &quot;,*p2,*p2); char const * p3=&c; printf(&quot;Указатель на константу: %x %c &quot;,*p3,*p3); const char *const p4=&c; printf(&quot;Константный указатель на константу: %d %c &quot;,*p4,*p4); </li></ul>
  4. 4. Результат выполнения программы
  5. 5. Работа с указаталями <ul><li>printf(&quot;Изменения значений &quot;); *p='b'; printf(&quot;Измененое значение *p: %d %c &quot;,*p,*p); *p1='c'; printf(&quot;Измененное значение *p1: %d %c &quot;,*p1,*p1); *p2='d'; printf(&quot;Измененное значение *p2: %d %c &quot;,*p2,*p2); *p3='e'; printf(&quot;Измененное значение *p3: %d %c &quot;,*p3,*p3); *p4='f'; printf(&quot;Измененное значение *p4: %d %c &quot;,*p4,*p4); </li></ul>
  6. 6. Результат компиляции
  7. 7. Строки с ошибками <ul><li>const char * p1 </li></ul><ul><li>*p1='c'; </li></ul><ul><li>char const * p3=&c; </li></ul><ul><li>*p3='e'; </li></ul><ul><li>const char *const p4=&c; </li></ul><ul><li>*p4='f'; </li></ul>
  8. 8. Результат выполнения
  9. 9. Код изменения адреса <ul><li>char b='A'; p=&b; p1=&b; p2=&b; p3=&b; p4=&b; printf(&quot;Изменение адреса указателя &quot;); printf(&quot;Указатель p: %x %c &quot;,*p,*p); printf(&quot;Указатель на константу p1: %x %c &quot;,*p1,*p1); printf(&quot;Константный указатель p2: %x %c &quot;,*p2,*p2); printf(&quot;Указатель на константу p3: %x %c &quot;,*p3,*p3); printf(&quot;Константный указатель на константу p4: %x %c &quot;,*p4,*p4); </li></ul>
  10. 10. Результат компиляции
  11. 11. Строки с ошибками <ul><li>char * const p2=&c; </li></ul><ul><li>p2=&b; </li></ul><ul><li>const char *const p4=&c; </li></ul><ul><li>p4=&b; </li></ul>
  12. 12. Результат выполнения
  13. 13. Конец Вопросы e-mail: a.bovanenko@gmail.com

×