#include <stdio.h>
int main() {
char a = 11;
char b = 22;
a = b;
b = a;
printf("a=%d\\r\\n", a);
printf("b=%d\\r\\n", a);
return (0);
}
당연히 문제가 없다.
a,b는 모두 char형으로, a=b, b=a 모두 적법하다.
당연히 문제가 없다.
#include <stdio.h>
int main() {
int a = 111;
int b = 222;
a = b;
b = a;
printf("a=%d\\r\\n", a);
printf("b=%d\\r\\n", b);
return (0);
}
형이 다르면 원칙적으로 대입이 안되어야 되지만..
안되야 하는데 된다. (안돼야가 맞나.. 안되야가 맞나?)
#include <stdio.h>
int main(void) {
int a = 11;
int b = 22;
char c = 33;
int* pa = &a;
int* pb = &b;
char* pc = &c;
printf("a=%d\\r\\n", a);
printf("b=%d\\r\\n", b);
printf("c=%d\\r\\n", c);
*pa = *pb; // (1) ok 양쪽이 int, int 로써 형이 같다.
*pb = *pa; // (2) ok 역시 적법하다.
*pc = *pa; // (3) error? ok?
*pa = *pc; // (4) error? ok?
return (0);
}
(1),(2) 전혀 문제 없다
*pa의 연산결과의 형은 int다
int를 int에 대입, 양쪽의 형이 같음, 고로 문제 없다.