Я столкнулся с немного кода на C, который делает что-то вроде следующего. Просто интересно, может ли кто-нибудь сказать мне, что происходит в этом коде, потому что я никогда раньше не встречал ничего подобного. Линия I заботятся о том, где один путь задается значениеКастинг строки без знака long int
int main(void)
{
unsigned long path;
//...
void init (void)
{
path = (unsigned long) "somevariable";
}
init();
return 0;
}
Я попытался искать вокруг, чтобы понять это, но я не мог найти ничего, что помогло. Просто интересно, может ли кто-нибудь разъяснить, что происходит. В частности, мне интересно:
- Что назначено для пути? Является ли это char * cast для unsigned long?
- Если путь является адресом строки «somevariable», то какова область действия «somevariable»? Имеет ли он область локально для функции init или имеет ту же область действия, что и путь? И как он распределяется (автоматический или динамический)?
- Если кто-то знает раздел стандарта c, на который можно ссылаться, чтобы понять это, это также будет оценено.
«* что-то вроде следующего» - * вздох *. снова преследуя призраков? –