Różnica w użyciu pomiędzy kwalifikatorem stałym i lotnym w C?

Już przeszedłem odpowiedź na pytanie @Jakie są różnice między wskaźnikiem stałym i lotnym w C? Rozumiem wyjaśnienie, że:

Modyfikator const oznacza, że ​​ten kod nie może zmienić wartości zmiennej, ale nie oznacza to, że wartości nie można zmienić za pomocą tego kodu. Jednak niestabilność mówi, że „te dane mogą zostać zmienione przez kogoś innego”, więc kompilator nie podejmie żadnych założeń dotyczących tych danych.

Oznacza to, że oba typy zmiennych mogą być zmieniane przez zdarzenie zewnętrzne.

Ale gdzie jest różnica w użyciu const i volatile?

W C czy optymalizacje kompilatora działają dla const?

questionAnswers(6)

yourAnswerToTheQuestion