55 lines
1.9 KiB
C
55 lines
1.9 KiB
C
|
|
// cyrillic_ptr.c - Проверка указателей и указателей на указатели с кириллическими идентификаторами
|
|||
|
|
цел главн() {
|
|||
|
|
// Обычный указатель
|
|||
|
|
цел значение = 42;
|
|||
|
|
цел *указатель = &значение;
|
|||
|
|
|
|||
|
|
если (*указатель != 42) {
|
|||
|
|
возврат 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Указатель на указатель
|
|||
|
|
цел **указатель_на_указатель = &указатель;
|
|||
|
|
|
|||
|
|
если (**указатель_на_указатель != 42) {
|
|||
|
|
возврат 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Изменение через указатель
|
|||
|
|
*указатель = 100;
|
|||
|
|
если (значение != 100) {
|
|||
|
|
возврат 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Изменение через указатель на указатель
|
|||
|
|
**указатель_на_указатель = 200;
|
|||
|
|
если (значение != 200) {
|
|||
|
|
возврат 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Указатель на структуру
|
|||
|
|
структ Данные {
|
|||
|
|
цел поле;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
структ Данные объект;
|
|||
|
|
объект.поле = 123;
|
|||
|
|
|
|||
|
|
структ Данные *указатель_на_структуру = &объект;
|
|||
|
|
если (указатель_на_структуру->поле != 123) {
|
|||
|
|
возврат 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
указатель_на_структуру->поле = 456;
|
|||
|
|
если (объект.поле != 456) {
|
|||
|
|
возврат 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Указатель на указатель на структуру
|
|||
|
|
структ Данные **указатель_на_указатель_на_структуру = &указатель_на_структуру;
|
|||
|
|
если ((*указатель_на_указатель_на_структуру)->поле != 456) {
|
|||
|
|
возврат 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
возврат 0;
|
|||
|
|
}
|