Разделы презентаций


Структуры и объединения

Содержание

СтруктураСтруктурированный тип данныхНабор данных различного типаЭлементы структуры – поляПоля именуются

Слайды и текст этой презентации

Слайд 1Структуры и объединения

Структуры и объединения

Слайд 2Структура
Структурированный тип данных
Набор данных различного типа
Элементы структуры – поля
Поля именуются

СтруктураСтруктурированный тип данныхНабор данных различного типаЭлементы структуры – поляПоля именуются

Слайд 3Описание структуры
struct имя_типа_структуры
{
тип_поля имя_поля;
тип_поля имя_поля;

} имя_переменной_структуры;

имя_типа_структуры
имя_переменной_структуры;

Описание структурыstruct имя_типа_структуры{	тип_поля имя_поля;	тип_поля имя_поля;	…} имя_переменной_структуры;…имя_типа_структуры 				имя_переменной_структуры;

Слайд 4Пример описания структуры
struct type_person
{
char FIO[255];
struct
{
char street[255];
int building, room;
} address;
int age;
}

person;
FIO
street
building
room
age
address
person

Пример описания структурыstruct type_person{	char FIO[255];	struct	{		char street[255];		int building, room;	} address;	int age;} person;FIOstreetbuildingroomageaddressperson

Слайд 5Обращение к полям структуры


имя_переменной_структуры.имя_поля

Обращение к полям структурыимя_переменной_структуры.имя_поля

Слайд 6Пример обращения к полям структуры

printf(“%s”,person.FIO);
scanf(“%i”,&person.address.building);
person.age=45;

Пример обращения к полям структурыprintf(“%s”,person.FIO);scanf(“%i”,&person.address.building);person.age=45;

Слайд 7Объединение
Схожа со структурой
Поля накладываются в памяти друг на друга
Размер объединения

= размер максимального поля

ОбъединениеСхожа со структуройПоля накладываются в памяти друг на другаРазмер объединения = размер максимального поля

Слайд 8Описание объединения
union имя_типа_объединения
{
тип_поля имя_поля;
тип_поля имя_поля;

} имя_переменной_объединения;

имя_типа_объединения
имя_переменной_объединения;

Описание объединенияunion имя_типа_объединения{	тип_поля имя_поля;	тип_поля имя_поля;	…} имя_переменной_объединения;…имя_типа_объединения 				имя_переменной_объединения;

Слайд 9Пример работы с объединением
union
{
int dword;
char

byte;
} u;
u.dword=0x12345678;
printf(“%x\n”,u.byte);
u.byte=0x12;
printf(“%x”,u.dword);
78
12345612
dword
byte
12
34
56
78
u

Пример работы с объединением	union  {		int dword;   	char byte;	} u;  u.dword=0x12345678;	printf(“%x\n”,u.byte);  u.byte=0x12;

Слайд 10Пример работы с объединением

union
{
short ax;
struct

{
char al,ah;
}byte;
}

reg;
reg.ax=0x1234;
printf(“%x %x”,reg.byte.ah, reg.byte.al);

12 34

12

34

reg

ax

al

ah

Пример работы с объединениемunion  {		short ax;   	struct   	{   		char al,ah;

Слайд 11Инициализация
имя_типа имя_переменной=
{
нач_знач_поля№1,
нач_знач_поля№2,

};
имя_типа имя_перменной={0};//обнуление всех полей

Инициализацияимя_типа имя_переменной=			{				нач_знач_поля№1,				 нач_знач_поля№2,				…			};имя_типа имя_перменной={0};//обнуление 						 всех полей

Слайд 12Пример инициализации
struct type_person
{
char FIO[255];
struct
{
char street[255];
int building, room;
} address;
int age;
}
person={“Иванов

Иван Иванович”, {“Ленина”,67,90},45};
Иванов Иван Ива…
Ленина
67
90
45
person
address

Пример инициализацииstruct type_person{	char FIO[255];	struct	{		char street[255];		int building, room;	} address;	int age;} person={“Иванов Иван Иванович”, {“Ленина”,67,90},45};Иванов Иван Ива…Ленина679045personaddress

Слайд 13Битовые поля структур
struct имя_типа_структуры
{
тип_поля имя_поля:ширина_поля_в_битах;
тип_поля имя_поля;

} имя_переменной_структуры;

имя_типа_структуры
имя_переменной_структуры;

Битовые поля структурstruct имя_типа_структуры{	тип_поля имя_поля:ширина_поля_в_битах;	тип_поля имя_поля;	…} имя_переменной_структуры;…имя_типа_структуры 				имя_переменной_структуры;

Слайд 14Битовые поля объединений
union имя_типа_объединения
{
тип_поля имя_поля:ширина_поля_в_битах;
тип_поля имя_поля;

} имя_переменной_объединения;

имя_типа_объединения
имя_переменной_объединения;

Битовые поля объединенийunion имя_типа_объединения{	тип_поля имя_поля:ширина_поля_в_битах;	тип_поля имя_поля;	…} имя_переменной_объединения;…имя_типа_объединения 				имя_переменной_объединения;

Слайд 15Пример использования битовых полей структур
struct
{
int ready:1;
int mode:3;
int :4;
int iostatus:2;
}

status;

0
0
0
0
1
1
1
0
1
0
ready
mode
iostatus

Пример использования битовых полей структурstruct {		int ready:1;		int mode:3;		int :4;		int iostatus:2;} status;0000111010readymodeiostatus

Слайд 16Пример использования битовых полей объединений
union
{
int ready:1;
int mode:3;
int iostatus:2;
} status;
1
1
0
ready
mode
iostatus

Пример использования битовых полей объединенийunion {		int ready:1;		int mode:3;		int iostatus:2;} status;110readymodeiostatus

Слайд 17Пример использования битовых полей структур в объединениях
union {
struct
{
int ready:1;
int

mode:3;
int :2;
int iostatus:2;
} bits;
char byte;
}status;
status.byte=0x86;
printf(“%d”, status.bits.mode);
1
0
0
0
0
1
1
0
ready
mode
iostatus
byte
3

Пример использования битовых полей структур в объединенияхunion {struct {		int ready:1;		int mode:3;		int :2;		int iostatus:2;} bits;char byte;}status;status.byte=0x86;printf(“%d”, status.bits.mode);10000110readymodeiostatusbyte3

Слайд 18Работа с файлами

Работа с файлами

Слайд 19Основные операции с файлом
Открытие/создание – fopen()
Чтение – fscanf( ), fgets(

), fread( )
Определение метки конца файла – feof()
Запись – fprintf(

), fputs( ), fwrite( )
Закрытие – fclose()
Позиционирование указателя – fseek( )
Блокировка – lock( ), unlock( )
Основные операции с файломОткрытие/создание – fopen()Чтение – fscanf( ), fgets( ), fread( )Определение метки конца файла –

Слайд 20Открытие файла (stdio)
FILE *fopen(const char *filename, const char *mode);

Открытие файла (stdio)FILE *fopen(const char *filename, const char *mode);

Слайд 21Чтение файла (stdio)
char *fgets(char *s, int n, FILE *stream);

int fscanf(FILE

*stream, const char *format[, address, ...]);

size_t fread(void *ptr, size_t size,

size_t n, FILE *stream);
Чтение файла (stdio)char *fgets(char *s, int n, FILE *stream);int fscanf(FILE *stream, const char *format[, address, ...]);size_t fread(void

Слайд 22Запись в файл (stdio)
int puts(char *s, FILE *stream);

int fprintf(FILE *stream,

const char *format[, address, ...]);

size_t fwrite(void *ptr, size_t size, size_t

n, FILE *stream);
Запись в файл (stdio)int puts(char *s, FILE *stream);int fprintf(FILE *stream, const char *format[, address, ...]);size_t fwrite(void *ptr,

Слайд 23Позиционирование файлового указателя (stdio)
int fseek(FILE *stream, long offset, int whence);

Позиционирование файлового указателя (stdio)int fseek(FILE *stream, long offset, int whence);

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика