Что значит это объявление?
unsigned char **NAME;
искала в интернете, но ничего подобного не нашла. Может быть кто-нибудь знает что это означает и как работает?
Другие языки программирования и технологии
указатели/ массивы/ строки. Язык С++
Это указатель на указатель
Это нужно если необходимо постоянно выделять освобождать память.
void f(unsigned char** ptr){
*ptr = new unsigned char[32];}
f(&NAME);
Ведь в параметры значения копируются и в функции создаётся локальная копия
По этому можно использовать указатель на указатель.
Это нужно если необходимо постоянно выделять освобождать память.
void f(unsigned char** ptr){
*ptr = new unsigned char[32];}
f(&NAME);
Ведь в параметры значения копируются и в функции создаётся локальная копия
По этому можно использовать указатель на указатель.
Например, ты создаешь двумерный динамический массив символов. Его создают как одномерный массив одномерных массивов символов. Для каждого одномерного массива выделяется память и выдается указатель на ее начало. А чтобы у тебя получился массив этих одномерных массивов, эти указатели должны быть тоже расположены в массиве, значит, тебе понадобится сначала создать динамический массив указателей, на начало которого будет указывать указатель на массив из этих указателей. Вот указатель на массив указателей и обозначается как char** Name, потому что в Name хранится адрес начала массива адресов символов. Чтобы добраться до символа, нужно будет разыменовать сначала Name, чтобы получить указатель с адресом начала одномерного массива символов, а потом уже разыменовать этот указатель, чтобы получить символ в этом одномерном массиве. Так что char получается в результате проведенного дважды разыменования Name, что и отражено в обозначении типа char** Name, показывающего, что нужно сделать с Name, чтобы получить char.
stackoverflow.com/a/87648
c4learn.com/c-programming/c-double-pointer
c4learn.com/c-programming/c-double-pointer
Роман Сидоров
что это?
unsigned значит без знака число
unsigned char NAME[x][y];
x,y выделяются динамически
unsigned char NAME[x][y];
x,y выделяются динамически
Роман Сидоров
не совсем поняла, а звездочки для чего?
Вот хорошая статья про указатели и для чего они нужны.
https://habrahabr.ru/post/256443/
https://habrahabr.ru/post/256443/
Похожие вопросы
- Указатель на строку - массив, как это?
- Указатели на строки в C++
- С++. Задание на массив строк
- Как создать массив указателей на числа? (язык Си)
- c++, массивы, строки
- помогите срочно надо Квадратные массивы тема: Двумерные массивы на языке C++
- .помогите пожалуйста двумерный массив на языке c++
- помогите с программой!!! (Си) Двумерный массив+строки
- Люди кто хорошо разберается в массивах?На языке паскаль
- Помогите Задан массив Р(N).Переписать все его элементы,за исключением максимального и минимального в массив D.(язык C++)