C中的printf不占用内存?

Ang*_*gus 0 c

是否printf占用堆栈中的内存?

printf("Hello world");
Run Code Online (Sandbox Code Playgroud)

是否"Hello world"具有恒定的地址?

请帮我理解.

编辑:

我们传递的参数printf是否存储在本地指针变量中.如果我使用一个数组存储50个字符串文字,它需要堆栈内存,但如果我使用printf它不占用内存 - 就是我所听到的.但我不知道如何printf不将内存作为我们声明的数组.

请帮我理解!

Luc*_*ore 5

字符串文字,即"Hello world"占用内存,但不在堆栈上,而是在只读静态段中.除此之外read-only memory,其余的都是实施细节.

没有必要相同的字符串文字占用相同的内存(因此地址不保证是恒定的),但它们可能.