C++ 질문입니다. 정말 기초적인 질문입니다.

조회수 827회

질문은 두가지입니다. 독학으로 책보고 공부하는데 부가 설명이 없어서 힘드네요.

첫번째 질문은, "" 과 ''의 차이점을 알고싶습니다. char 타입을 사용할때나 변수에 대입을 할때는 ''를 쓰던데 ""를 쓰면 오류가 나고,, 대체 무슨 차이인지 알고싶습니다.

두번째 질문은 구조체인데요.

문제는 한구조체의 멤버들을 다른 구조체에 대입하는 것입니다.

struct Student {
char bloodType;
int stdNumber;
float grade; }; int main() {
Student s1, s2;
s1.bloodType = 'O';
s1.stdNumber = 337;
s1.grade = 3.3f;

[ s2.bloodType = s1.bloodType; s2.stdNumber = s1.stdNumber;
s2.grade = s1.grade;
];

return 0; }

답지는 이렇게 나와있는데요, 저는 대입하는 부분을 일일히 하지않고 s1=s2; 이렇게 끝냈는데 메시지창 뜨면서 오류가 나더라구요. 분명 앞장에서는

int main() { struct Point { int x; int y; };

Point pt1={30,50}; Point pt2;

pt2=pt1;

이렇게 대입을 해서 답지와 같은 값이 나왔는데 왜 저 위의 문제에는 적용이 안되는지 알고싶습니다. 답변해주시면 정말 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • #include <iostream>
    using namespace std;
    
    struct Student {
        char bloodType;
        int stdNumber;
        float grade;
    };
    
    int main() {
        Student s1, s2;
        s1.bloodType = 'O';
        s1.stdNumber = 337;
        s1.grade = 3.3f;
    
        cout << "s1의 정보" << endl;
        cout << s1.bloodType << endl;
        cout << s1.stdNumber << endl;
        cout << s1.grade << endl;
    
        s2 = s1;
    
        cout << "s2의 정보" << endl;
        cout << s2.bloodType << endl;
        cout << s2.stdNumber << endl;
        cout << s2.grade << endl;
    
        return 0;
    }
    
    

    같은 구조체끼리는 대입연산자 사용 가능합니다.

    ' '는 문자를 표현할 때 사용합니다. 예를들어.. 'a'라는 문자, '1'이라는 문자, '#'이라는 문자.. 이런식으로요.

    반면 " "는 문자열을 표현할 때 사용합니다. 예를들어 "Hello"라는 문자열, "World"라는 문자열, "a"라는 문자열 등이 존재합니다.

    따라서 'a'와 "a"는 다른 것입니다.

    ※참고

    변수 : http://itguru.tistory.com/7?category=194983

    문자열 : http://itguru.tistory.com/29?category=194983

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)