에서 문자열의 주소를 인쇄하는 것입니다 (나는 C를 배우고 이것은 어리석은 질문 일 수 있습니다. 죄송합니다) How to declare strings in C으로 당과 대부분의그것이 유효 내가 ...이 개 질문이 C
책, 그들은 항상
char p2[] = "String";
내 질문은, 인 문자열을 선언 어쨌든 거기에 말함으로써 메모리를 할당하는 경우에도 문자열을 선언하는 말? 이와 같은 예에서와 같이 당 https://stackoverflow.com/a/1704433/1814023
,
char s[]="hello";
printf("%p\n", &"Hello There"); // I tried, it prints some address
과 같은 주소를 인쇄이
printf("%p\n", &"Hello There");
printf("%p\n", &"Hello There");
을 수행하여
. 느낌은 무엇입니까, 그것은 다른 주소를 인쇄해야합니다. 컴파일러가 여기에서 최적화를하고 있습니까?
어쨌든 문자열 변수를 선언 할 수 있습니까? – StackIT
문자열 변수를 선언 할 수 있다고 생각하지 않습니다. 문자열 변수는 항상 정의됩니다. 나 맞아? – StackIT
@Patil : "string variable"은 무엇을 의미합니까? char의 배열이나 char에 대한 포인터를 가질 수 있습니다. 그것들은 각각 선언 될 수 있습니다. 배열에 null 문자가 포함되어 있고 해당 null 앞에 오는 모든 값이 특정 문자 집합의 값 (또는 char *이 가리키는 값에 대해 동일하게 유지되는 경우) 인 경우 변수를 "문자열"이라고 부를 수 있습니다. –