Я знаю, что локальные переменные могут иметь «случайное» значение, если они не установлены, но плохо ли устанавливать первое значение локальной переменной с помощью указателя? Например:
void setValue(int* p_val)
{
*p_val = …; /* Assignment does not use *p_val */
}
int main(void)
{
int val;
setValue(&val);
printf("%d", val);
return 0;
}
Где setValue только устанавливает и никогда не считывает значение указанной переменной. Splint предупреждает меня, что val «используется перед определением», и я немного удивлен этим предупреждением, поскольку я считаю, что значение val должно быть установлено до того, как будет выполнено printf и использовано val. Является ли шина недостаточно развитой, чтобы распознать эталон, используемый для установки начального значения?
setValue
? - person Bathsheba   schedule 01.12.2017