fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define __Text "hello"
  6.  
  7. int main(){
  8. int asdasd;
  9. char *textarr = "hello";
  10. char text[] = "hello";
  11. printf("비교대상 : #define __Text \"hello\", 외 스트링 \"hello\"\n");
  12. printf("textarr = %s, %c\ntext[] = %s, %c\n\n", textarr, *(textarr), text, *text);
  13.  
  14. // 바교 첫번쨰
  15. if(textarr == "hello"){
  16. printf("1. \"hello\"와 textarr 는 같습니다.\n");
  17. printf("주소값 : %d, %d 로 두 값은 일치 합니다.\n\n", textarr, "hello");
  18. }
  19.  
  20. // 비교 두번째
  21. if(__Text == "hello"){
  22. printf("2. \"hello\"와 define Text 는 같습니다.\n");
  23. printf("주소값 : %d, %d\n\n", &__Text, "hello");
  24. }
  25.  
  26. // 비교 세번째
  27. if(__Text == textarr){
  28. printf("3-1. define Text 와 textarr 는 같습니다. ( 비교연산자 )\n");
  29. printf("주소값 : %d, %d\n\n", &__Text, &textarr);
  30. }
  31.  
  32. // 비교 세번째 2
  33. if(__Text == text){
  34. printf("3-2. define Text 와 text 는 같습니다. ( 비교연산자 )\n");
  35. printf("주소값 : %d, %d\n\n", &__Text, &text);
  36. } else {
  37. printf("3-2. define Text 와 text 는 같지 않습니다. ( 비교연산자 )\n");
  38. printf("주소값 : %d, %d\n\n", &__Text, &text);
  39. }
  40.  
  41. // 비교 네번째
  42. if(strcmp(__Text, textarr) == 0){
  43. printf("4. __Text 와 textarr 는 같습니다. ( strcmp 비교 )\n");
  44. printf("주소값 : %d, %d\n\n", &__Text, &textarr);
  45. }
  46.  
  47. // 비교 다섯번째
  48. if(strcmp(text, textarr) == 0){
  49. printf("5. text 와 textarr 는 같습니다. ( strcmp 비교 )\n");
  50. printf("주소값 : %d, %d\n\n", &__Text, &textarr);
  51. }
  52.  
  53. // 비교 여섯번째
  54. if(text == textarr){
  55. printf("text 와 textarr 는 같습니다.\n");
  56. printf("주소값 : %d, %d\n", &text, &textarr);
  57. } else {
  58. printf("6. ##### 배열 text 와 배열 textarr 는 같지 않습니다. ##### ( 비교 연산자 ) \n");
  59. printf(" ##### 이유 : %d, %d\n\n", &text, &textarr);
  60. }
  61.  
  62. // 비교 일곱번째
  63. int __address = (int)&("hello");
  64. if((int)__Text == __address){
  65. printf("7. 문자열은 해당 문자열이 저장된 주소값(숫자)를 이용한 비교를 하게 됩니다..\n\n");
  66. }
  67.  
  68. system("pause");
  69. return 0;
  70. }
  71.  
Success #stdin #stdout #stderr 0s 2896KB
stdin
Standard input is empty
stdout
비교대상 : #define __Text "hello", 외 스트링 "hello"
textarr = hello, h
text[] = hello, h

1. "hello"와 textarr 는 같습니다.
주소값 : 134514720, 134514720 로 두 값은 일치 합니다.

2. "hello"와 define Text 는 같습니다.
주소값 : 134514720, 134514720

3-1. define Text 와 textarr 는 같습니다. ( 비교연산자 )
주소값 : 134514720, -1077412700

3-2. define Text 와 text 는 같지 않습니다. ( 비교연산자 )
주소값 : 134514720, -1077412694

4. __Text 와 textarr 는 같습니다. ( strcmp 비교 )
주소값 : 134514720, -1077412700

5. text 와 textarr 는 같습니다. ( strcmp 비교 )
주소값 : 134514720, -1077412700

6. ##### 배열 text 와 배열 textarr 는 같지 않습니다. ##### ( 비교 연산자 ) 
   ##### 이유 : -1077412694, -1077412700

7. 문자열은 해당 문자열이 저장된 주소값(숫자)를 이용한 비교를 하게 됩니다..

stderr
sh: pause: not found