русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Типы, определяемые пользователем.


Дата добавления: 2015-08-14; просмотров: 569; Нарушение авторских прав


Переименование типов:

Typedef – ключ. слово позволяет присвоить базовому типу новое имя.

Typedef тип новое_имя_типа;

Байт – 8 бит – unsigned char

Слово – 16 бит – 32 бита – unsigned long

…..

typedef unsigned char BYTE;

typedef unsigned int WORD;

typedef unsigned long DWORD;

 

….

BYTE b1,b2, b3;

…..

WORD w1, w2;

 

Структуры:

 

Структурой или структ. переменной наз. объединение одной или более переменных, возможно разных типов, имеющей одно имя, отдельные составные части структ. переменной наз. полями.

1. Обозначается место в памяти, где распологаются инф-ция – это место наз. структ. переменной.

2. Правило формирования структ. переменной, кот. используется компилятором для выделения области в памяти и организации обращения к ее памяти: это наз. шаблонами.

Структ. переменная д. б. описана:

1.Задание шаблона структуры.

2.Собственно описание структ. переменной.

Синтаксис задания шаблона:

Struct имя_шаблона

{

тип 1 имя_поля;

тпп 2 имя_поля;

….

Тип n имя_поля;

};

struct BOOK

{

char name [ 20 ]; // ФИО автора

char title [ 44] ; // Название

int gear; // Год издания

float price; // Цена

};

Указание шаблона не приводит к выделению памяти.для выдел. памяти надо определить структ. переменную ( тип определяется шаблоном )

Struct BOOK dog_book;

20+44+2+4=70 байт

sizeof ( struct BOOT ) – возвратит результат 70 байт.

Доступ к памяти структуры производится с помощью операции ‘ .’

Сначала указ.

Имя структ. переменная . имя поля

Dog_book . gear = 1998;

Strcpy ( dog_book . title, “ Белый Бим Черное ухо” );

Разрешается выполнять иниц-ию структурной переменной.

Struct BOOK dog_book = { “ Траепольский Г.Н. ”,” Белый Бим Черное Ухо”, 1980,2,78};

Typedef struct

{ ;

char name [ 20 ];



char name [ 44 ];

int gear;

float price;

}BOOKS;

BOOKS dog_book; child_book;

 

Указатели на структурную переменную.

 

Typedef struct

{

char name [ 20 ];



char title [ 44 ];

int gear;float price;

}BOOKS;

main ()

{

BOOKS first_book, *ptr;

Ptr = & first_book;

First_book = gear = 1992;

Strcpy ( first_book = name, “ Толстый Л.Н. ”)ж

….

 

Массивы структурных переменных.

 

Typedef struct

{

char name [ 20 ];



char title [ 44 ];

int gear;

float prite;

}BOOKS;

BOOKS library [ 50 ];

Int index;

Library [ index ]. Gear = 1990;

BOOKS *ptr;

Ptr = & library;

( ptr + index ) – gear = 1992;

 

Использование структур в функциях.

 

1.Передача по значению при вызове ф-ии пар-ры записываются в стек, при выходе из ф-ции – пар-ры восстанавливаются.

2.По ссылке ( использование указателей ) в ф-цию, передается только адрес структуры.

Недостаток – ф-ция может изменить данные.

Достоинство – быстрая работа.

2. # include < stdio.h >

# include < string.h >

typedef struct

{

….

}BOOKS;

void example ( BOOKS *first );

main ()

{

BOOKS ret;

Example ( & ret );

Printf ( “ % -20s % -40; Год издания % d, Цена -%2а”, ret – name, ret – title, ret – gear, ret – price );

Return 0;

}

void example ( BOOKS * first )

{

strcpy ( first – name, “ Толстой Л.Н. ” );

strcpy ( first – title, “ Крайцерова соната ” );

first – year = 1990;

first – price = 5.25;

На экране: Толстой Л.Н. Крайцерова соната год издания 1990 цена 5,25



<== предыдущая лекция | следующая лекция ==>
Операции со строками | Операции с файлами.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.298 сек.