char를 가리키는 char 포인터가 있습니다.bitwise &?를 수행하는 동안 컴파일러 오류가 발생합니다.
char *a = 'A';
그리고 bitwise &
를 수행하는 동안 :
*a & 0x11
컴파일 오류가 발생합니다. 이 오류의 원인은 무엇입니까?
char를 가리키는 char 포인터가 있습니다.bitwise &?를 수행하는 동안 컴파일러 오류가 발생합니다.
char *a = 'A';
그리고 bitwise &
를 수행하는 동안 :
*a & 0x11
컴파일 오류가 발생합니다. 이 오류의 원인은 무엇입니까?
당신이 일을 끝낼 방법은 주소를 저장할 수 있습니다
char i='A';
char *a = i;
또는
char i='A';
char *a;
a=&i
포인터입니다.
'&'가 누락 된 것 같습니다. –
나는 내 질문에 제대로 대답 할 수 없다고 생각한다. 나는이 방법으로 그것을 쓴다. 0x11로 char a = A를 bitwise하고 싶습니다. 그것주는 컴파일 오류. (& 0x11) – sandeep
a
은 메모리 위치 65의 문자를 가리키는 변수입니다. 운영 체제는 일반적으로 그러한 주소에 대한 액세스를 허용하지 않으며 세그먼트 위반을 제공합니다.
a
을 포인터로 선언하지 않으면 작동하지 않습니다.
char a = 'A';
char b = a & 0x11;
printf ("%x %x\n", a, b);
또, 결과의 부호의 char
및 사용 된 문자 세트에 의존한다.
문자 ('A'
, 작은 따옴표)를 char 포인터에 잘못 저장하고 있습니다. 문자열 ("A"
, 큰 따옴표)에 대한 포인터를 저장하여이 문제를 해결할 수 있지만,이 문자열은 상수이기 때문에 const
을 추가해야합니다.
const char *a = "A";
char v = (*a) & 0x11;
그리고 오류는 무엇이라고 말합니까? – leppie