Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Розуміння Void-Указників | Вказівники
Основи C

bookРозуміння Void-Указників

Коли ви вперше побачили void, це стосувалося функцій, які нічого не повертають. Не можна створити змінну типу void, але можна оголосити вказівник void*, який зберігає адресу будь-якого типу даних.

Note
Примітка

Якщо ви виконували вправи з вказівниками у цьому розділі, то знаєте, що всі вказівники займають 8 байтів. Вказівник void* не є винятком.

Вказівник void* не прив'язаний до жодного конкретного типу даних. Така гнучкість дозволяє зберігати в ньому адресу будь-якого типу даних. Однак є нюанс: не можна розіменовувати вказівник void*.

Note
Примітка

Це обмеження виникає з тієї ж причини, через яку не можна оголошувати змінні типу void. Виконайте явне перетворення типу!

Main.c

Main.c

copy
1234567891011121314151617181920
#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.

question mark

Як отримати значення void-покажчика?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 6. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain why you can't dereference a void pointer?

What are some common uses for void pointers in C?

Can you give examples of how to cast a void pointer to another type?

Awesome!

Completion rate improved to 2.63

bookРозуміння Void-Указників

Свайпніть щоб показати меню

Коли ви вперше побачили void, це стосувалося функцій, які нічого не повертають. Не можна створити змінну типу void, але можна оголосити вказівник void*, який зберігає адресу будь-якого типу даних.

Note
Примітка

Якщо ви виконували вправи з вказівниками у цьому розділі, то знаєте, що всі вказівники займають 8 байтів. Вказівник void* не є винятком.

Вказівник void* не прив'язаний до жодного конкретного типу даних. Така гнучкість дозволяє зберігати в ньому адресу будь-якого типу даних. Однак є нюанс: не можна розіменовувати вказівник void*.

Note
Примітка

Це обмеження виникає з тієї ж причини, через яку не можна оголошувати змінні типу void. Виконайте явне перетворення типу!

Main.c

Main.c

copy
1234567891011121314151617181920
#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.

question mark

Як отримати значення void-покажчика?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 6. Розділ 6
some-alt