BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо С: руководство пользователя. Часть 1
Автор ""
Размер 993495 Байт
Страница 58 из 69
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

                                                                                
                                                                                
              О НЕКОТОРЫХ ОСОБЕННОСТЯХ ПРОГРАММИРОВАНИЯ НА СИ                   
     -----------------------------------------------------------------          
                                                                                
          Приятно знать,  что вы добрались и до этой главы.  В прошлой          
     главе мы дали вам представление о программировании на  Турбо  Си,          
     вполне достаточное для пробуждения вашей любознательности. Теперь          
     вы готовы углубиться в некоторые тонкости и тайны  программирова-          
     ния на Си, в чем мы и постараемся вам помочь.                              
                                                                                
                                                                                
                                                                                
          В этой главе...                                                       
     -----------------------------------------------------------------          
                                                                                
          В этой главе мы предлагаем вам изучить следующее:                     
                                                                                
        - структуры данных, включающие указатели, массивы и структуры;          
        - оператор switch;                                                      
        - команды   передачи  управления,  включающие  return,  break,          

                         - 477,478 -
                                                                                
                                                                                
          continue, goto и условный оператор (?:);                              
        - потоки  и поток ввода-вывода:  как считывать из и записывать          
          на дисковый файл или встроенное оборудование;                         
        - стиль программирования на Си и обзор новых расширений Си;             
        - некоторые общие "ловушки" для программистов на Си.                    
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
               Обзор структур данных                                            
     -----------------------------------------------------------------          
                                                                                
          Основные типы данных мы рассмотрели в прошлой главе.  К  ним          
     относятся числа - целые и с плавающей точкой, символы и их разно-          
     видности. Теперь мы поговорим о том, как использовать эти элемен-          
     ты для  построения СТРУКТУР данных.  Но сначала мы исследуем одно          
     из важнейших понятий Си - указатели.                                       
                                                                                
                                                                                
                                                                                
          Указатели                                                             
     -----------------------------------------------------------------          
                                                                                
          Большинство переменных,  рассмотренных вами,  в основном со-          
     держали данные, т.е. текущую информацию для работы вашей програм-          
     мы. Но  иногда важнее знать место расположения данных,  чем собс-          
     твенно их значение. Именно для этого и используются указатели.             
                                                                                
          Если вы  имеете  слабое  представление  о понятиях "адрес" и          
     "память", то вам просто необходимо ознакомиться с их кратким опи-          
     санием, которое мы приводим ниже.                                          

                         - 479,480 -
                                                                                
                                                                                
          Итак, ваш  компьютер содержит в своей памяти (часто называе-          
     мой RAM - Random Access Memory -  память  произвольного  доступа)          
     вашу программу и совокупность данных.  На самом нижнем уровне па-          
     мять вашего компьютера состоит из  бит,   мельчайших  электронных          
     схем которые  могут "запомнить" (пока компьютер включен)  одно из          
     двух значений, обычно интерпретируемое как "0" и "1".                      
                                                                                
          Восемь битов группируются в один БАЙТ. Большим группам битов          
     как правило,  присваивается имя: обычно два байта составляют СЛО-          
     ВО, четыре  байта составляют ДЛИННОЕ СЛОВО; и для IBM PC шестнад-          
     цать байт составляют ПАРАГРАФ.                                             
                                                                                
          Каждый байт  в  памяти  вашего  компьютера имеет собственный          
     уникальный адрес, так же, как каждый дом на любой улице. Но в от-          
     личие от большинства домов, последовательные байты имеют последо-          
     вательные адреса:  если данный байт имеет адрес N,  то предыдущий          
     байт имеет адрес N-1, а следующий - N+1.                                   
                                                                                
          УКАЗАТЕЛЬ -  это переменная, содержащая адрес некоторых дан-          
     ных, а не их значение. Зачем это нужно?                                    
                                                                                
                                                                                
          Во-первых, мы можем использовать указатель места  расположе-          
     ния различных данных и различных структур данных.  Изменением ад-          





реса, содержащегося в указателе, вы можете манипулировать (созда- вать, считывать, изменять) информацию в различных ячейках. Это позволит вам, например, связать несколько зависимых структур дан- ных с помощью одного указателя. Во-вторых, использование указателей позволит вам создавать новые переменные в процессе выполнения программы. Си позволяет вашей программе запрашивать некоторое количество памяти (в бай- тах), возвращая адреса, которые можно запомнить в указателе. Этот прием известен как ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ; используя его, ва- ша программа может приспосабливаться к любому объему памяти, в зависимости от того как много (или мало) памяти доступно вашему компьютеру. В-третьих, вы можете использовать указатели для доступа к различным элементам структур данных, таким как массивы, строки или структуры. Указатель, в сущности, указывает место в памяти вашего компьютера (а используя смещение относительно начального адреса можно указать целый сегмент памяти), в котором размещены те или иные данные. Индексируя указатель, вы получаете доступ к - 481,482 - некоторой последовательноси байтов, которая может представлять, например, массив или структуру. Теперь вы, несомнено, убеждены в удобстве указателей. А как же их использовать в Си? Для начала вы должны их объявить. Рассмотрим следующую программу: main() { int ivar,*iptr; iptr = &ivar; ivar = 421; printf("Размещение ivar: %p\n",&ivar); printf("Содержимое ivar: %d\n", ivar); printf("Содержимое iptr: %p\n", iptr); printf("Адресуемое значение: %d\n",*iptr); } В ней объявлены две переменные: ivar и iptr. Первая, ivar - это целая переменная, т.е. содержащая значение типа int. Вторая, iptr - это указатель на целую переменную, следовательно она со- держит АДРЕС значения типа int. Можно также сказать, что перемен- ная iptr - это указатель, так как перед ее описанием стоит звез- дочка (*). В языке Си эта звездочка называется косвенным оператором. В основном, данная программа делает следующее: - адрес переменной ivar присваисвается iptr - целое значение 421 присваивается ivar Адресный оператор (&), как это было показано в предыдущей главе, позволяет получить адрес, по которому размещено значение переменной ivar. Введя эту программу в свой компьютер и выполнив ее, вы получите следующий результат: Размещение ivar: 166E Содержимое ivar: 421 Содержимое iptr: 166E - 483,484 - Адресуемое значение: 421 Первые две строки указывают адрес и содержимое ivar. Третья представляет адрес, содержащийся в iptr. Как видите, это адрес переменной ivar, т.е. место в памяти, где ваша программа решила создать переменную с идентификатором ivar. В последней строке пе- чатается то, что хранится по этому адресу - те же самые данные, которые уже присвоены переменной ivar. Заметим, что в третьем обращении к функции printf используе- тся выражение iptr, содержимое которого есть адрес ivar. В пос- леднем обращении к printf используется выражение *iptr, которое позволяет получить данные, хранящиеся по этому адресу. Рассмотрим теперь небольшую вариацию предыдущей программы: main() { int ivar,*iptr; iptr = &ivar; *iptr = 421; printf("Размещение ivar: %p\n",&ivar); printf("Содержимое ivar: %d\n", ivar); printf("Содержимое iptr: %p\n", iptr); printf("Адресуемое значение: %d\n",*iptr); } В этой программе также адрес переменной ivar присваивается


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.