[c] 빈 문자를 어떻게 표현합니까?

현재 작은 프로그램을 작성하고 있지만 컴파일 할 때이 오류가 계속 발생합니다.

오류 : 빈 문자 상수

유효한 문자를 빈 공간으로 바꾸려고 c[i]=''했지만 다른 방법으로 표현할 수 없었기 때문이라는 것을 알고 있습니다.



답변

당신은 사용할 수 있습니다 c[i]= '\0'하거나 c[i] = (char) 0.

널 / 빈 문자는 단순히 0의 값이지만 이스케이프 된 0이있는 문자로 표시 될 수도 있습니다.


답변

캐릭터에 “문자 없음”을 저장할 수 없습니다. 말이 안됩니다.

대안으로 당신에게 특별한 의미를 가진 문자 (예 : null char)를 저장 '\0'하고 이것을 특별히 취급 할 수 있습니다.


답변

빈 공간 문자는입니다 ' '. null을 찾고 있다면 '\0'.


답변

예, c[i]=''유효한 코드가 아닙니다. ' '예를 들어 c[i] = 'A';char 사이에 문자 상수를 괄호로 묶습니다 A. 하지만 사이에 문자를 쓰지 않습니다 ''.

빈 공간은 아무것도 아닙니다. 공간을 할당하려면 다음을 수행하십시오.

할당하려면 nul char다음을 수행하십시오.

예 : c[]문자열 이 있는 경우 문자열 (nul로 \0끝나는 char 배열)이 있다고 가정 합니다. 예를 들면 :

그리고 두 번째 문자를 공백으로 바꿉니다 .

다음과 같이 printf를 사용하여 인쇄하는 경우 :

출력은 다음과 같습니다.

그리고 두 번째 문자를 ‘\ 0’으로 바꿉니다 .

출력은 다음과 같습니다.

문자열이 \0.


답변

“빈 문자”와 같은 것은 없습니다 ''.

공백 문자가 필요한 경우 공백 : c[i] = ' '또는 해당 ASCII 8 진수 :으로 표시 할 수 있습니다 c[i] = '\040'. NUL 문자가 필요한 경우 c[i] = '\0'.


답변

값이 존재하지 않는다는 사실을 나타 내기 위해 두 가지 선택이 있습니다.

1) 전체 char범위가 의미 있고 값을 예약 할 수없는 경우 다음 char*대신 사용하십시오 char.

그런 다음 c[i] == NULL문자가 없을 때를 사용하고 그렇지 않으면 *c[i]일반 문자를 사용합니다.

2)에서 표현할 수있는 일부 값이 필요하지 않은 경우 char값이 존재하지 않음을 나타 내기 위해 하나를 예약하십시오 (예 : '\0'문자).

그러면 c[i] == '\0'캐릭터가 없을 때를 위해, 그렇지 않으면 일반 캐릭터를 갖게 됩니다.


답변

동일한 명령을 수행하는 두 가지 방법, 즉 빈 문자열이 있습니다. 첫 번째 방법은 정적 메모리에 빈 문자열을 할당하는 것입니다.

또는 명시 적으로 표현하려는 경우 :

위에 게시 된 방법은 캐릭터 전용입니다. 그리고 두 번째 방법 :

strdup () 은 내부에서 malloc을 사용 하기 때문에 free () 를 사용하는 것을 잊지 마십시오 .