我有 2 个问题......(我正在学习 C,这可能是愚蠢的问题。抱歉)
根据如何在 C 中声明字符串和大多数书籍,他们总是说声明一个字符串,即使你通过说分配内存
char p2[] = "String";
我的问题是,无论如何要声明一个字符串?
根据https://stackoverflow.com/a/1704433/1814023,在这样的示例中,
char s[]="hello";
被放置在只读区域,然后复制到数组。在 C 中这样打印字符串的地址是否有效?
printf("%p\n", &"Hello There"); // I tried, it prints some address
并通过这样做
printf("%p\n", &"Hello There");
printf("%p\n", &"Hello There");
它正在打印相同的地址。感觉是,它应该打印不同的地址。编译器在这里做了一些优化吗?