У меня есть 2 вопроса... (Я изучаю C, и это могут быть глупые вопросы. Извинения)
-
Как Как объявить строки в C и в большинстве книг, они всегда говорят, объявляя строку, даже если вы выделяете память, говоря
char p2[] = "String";
Мой вопрос: есть ли смысл объявлять строку?
-
Как в qaru.site/info/9061/..., в примере, подобном этому,
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");
он печатает тот же адрес. что такое чувство, он должен печатать другой адрес. Здесь компилятор делает некоторую оптимизацию?