I have a small problem of understanding:
As I understand it, my Arduino has two or three memories: RAM, Flash and Eeprom.
The data in RAM, in the case of Arduino a SRAM, are volatile, so they are lost at every reset or power on and off.
The flash contains the actual code that is executed and this remains even after a restart.
Now I have looked at the F-Macro. This macro causes that strings, which for example are output via serial, are not stored in the SRAM, but in the flash memory.
My understanding problem is now the following: How can a string be stored in SRAM if it does not survive a restart?
If you do not use the F macro, the strings are in program memory anyway, but are put into SRAM during startup, during the (hidden) initialization program phase.