Я работаю со связанными списками и решил, что было бы очень полезно иметь глобальную переменную с адресом первой «корневой» ссылки в списке.C - Назначение указателей на конкретные местоположения
У меня тогда есть несколько других функций, которые используют эту «корневую» ссылку, используя ее в качестве исходной ссылки.
Как это можно сделать?
Моя попытка была (в целом):
int rootAddress = 0;
int main(){
//EDIT float *ptr = 5; -> my mistake there is not 'float' in my code
int *ptr = 5; //but I still get these warnings
rootAddress = ptr;
return 0;
}
int laterFunction(){
// float *ptr = rootAddress;
int *ptr = rootAddress;
return 0;
}
Хотя я получаю два предупреждения:
warning: initialization makes pointer from integer without cast
warning: assignment makes integer from pointer without cast
Что такое правильный способ сделать это, или то, что это лучший способ идти о сохранить этот «корневой» указатель вообще, если этот подход неэффективен?
В: Было бы полезно иметь глобальную переменную. A: Конечно. Это совершенно легально. Q: Хотя я получаю предупреждения: инициализация делает указатель из целого без приведения ... A: Просто объявляйте ваш глобальный тип указателя, а не int. – paulsm4
Как в: int * rootAddress = NULL; ? – sherrellbc