Порожній
Ми раніше зустрічали void
, коли розглядали функції, які нічого не повертають або просто відображають текст на екрані.
Пам'ятайте, що ми не можемо оголосити змінну типу void
.
Однак, ми можемо створити вказівник void*
, який вказує на місце в пам'яті.
Примітка
Якщо ви виконали вправи з вказівниками в розділі, ви знаєте, що всі вказівники займають 8 байтів. Вказівник
void*
не є винятком.
Вказівник void*
не прив'язаний до жодного конкретного типу даних. Ця гнучкість дозволяє нам зберігати адресу будь-якого типу даних у ньому.
Однак, є одне застереження: ми не можемо розіменувати вказівник void*
.
Примітка
Це обмеження виникає з тієї ж причини, з якої ми не можемо оголошувати змінні типу
void
.
Виконайте явне перетворення типу!
Main.c
123456789101112131415161718192021#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }
Вітаємо з завершенням базового курсу з програмування на C! Якщо ви прагнете заглибитися в цей захоплюючий і логічний мову програмування, я настійно рекомендую вивчити такі теми, як макроси, алгоритми сортування та структури даних. Крім того, ознайомлення з однією з дистрибуцій Linux є безцінним для будь-якого досвідченого програміста на C.
Успіхів!
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.63
Порожній
Свайпніть щоб показати меню
Ми раніше зустрічали void
, коли розглядали функції, які нічого не повертають або просто відображають текст на екрані.
Пам'ятайте, що ми не можемо оголосити змінну типу void
.
Однак, ми можемо створити вказівник void*
, який вказує на місце в пам'яті.
Примітка
Якщо ви виконали вправи з вказівниками в розділі, ви знаєте, що всі вказівники займають 8 байтів. Вказівник
void*
не є винятком.
Вказівник void*
не прив'язаний до жодного конкретного типу даних. Ця гнучкість дозволяє нам зберігати адресу будь-якого типу даних у ньому.
Однак, є одне застереження: ми не можемо розіменувати вказівник void*
.
Примітка
Це обмеження виникає з тієї ж причини, з якої ми не можемо оголошувати змінні типу
void
.
Виконайте явне перетворення типу!
Main.c
123456789101112131415161718192021#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }
Вітаємо з завершенням базового курсу з програмування на C! Якщо ви прагнете заглибитися в цей захоплюючий і логічний мову програмування, я настійно рекомендую вивчити такі теми, як макроси, алгоритми сортування та структури даних. Крім того, ознайомлення з однією з дистрибуцій Linux є безцінним для будь-якого досвідченого програміста на C.
Успіхів!
Дякуємо за ваш відгук!