명령어
cp Desktop /* c2022 // 데스크탑의 모든 파일을 c2022로 복사함
std::cout // Stantdard Console Output 표준 출력
std::endl // endl endline 줄바꿈
cat (원하는 파일명)// file 내용을 보여줌
cat a.cpp
g++ -g -o a a.cpp // 디버깅에 필요한 정보를 저장한다 라는 말
문자 vs 문자열
cout << 'a' << endl; // 문자, char type in C/C++
cout << "a" < < endl; // 문자열 string C에서는 그런 타입이 없음
"app"
"apple"
"a"
"" // null string
'a' // char
'apple' // error 컴파일 에러나옴
변수 vs 상수
cout << 'a' << endl;
에서
cout << var << endl;
로 바꾸면, var 이라는 변수가 생기는거죠!
변수가 어디에 저장되냐?
-> 메인 메모리에 저장됨
메모리는 일련의 숫자주소를 가짐
가령, "0x100번지에 'a'를 대입하라" 라고 한다면,
일단 'a'를 8비트로 바꾸면 0110 0001 을 메모리 100번 공간에 넣는다고 생각하면 됨!
근데 우린 숫자보단 문자를 더 잘 기억하니, 숫자주소 대신 문자주소를 쓰고,
이 문자 주소가 결국 변수 라고 보면 됨!
var = expression
LHS(Left Hand Side) (only 변수만 가능! ) = RHS(Right Hand Side) (변수나 수식이나 아무튼 항상 결과값)
GDB
(gdb) l // 소스파일을 리스트해줌 10줄만 리스트해줌
(gdb) r // run : 프로그램을 시작함
(gdb) b 7 // breakpoint 7번줄 앞에서 멈춤
이 상태에서 실행하게 되면,
(gdb) r
7 var = 'a'; // 에서 멈춤
var = 'a'; 가 실행 되었는지, 아닌지 알려면
(gdb) p var // print var , 즉 var 을 실행해라 라는 말
$1 = 0 '\000'
(gdb)n // next 한 줄을 실행해라 란 말
(gdb) p var // 이 상태에서 p var 하면
$2 = 97 'a' // 이때, 97은 0110 0001 이니까 이를 십진법으로 바꾸면 97임
(gdb) p &var // var 이 저장된 주소값을 알고싶다! 라고 하면
$3 = 0x7fffffffdd6f "a"
(gdb) c // continue 멈췄던 부분부터 프로그램을 시작한다 run은 처음부터 하는거!
(gdb) q // quit gdb를 나간다 prompt로 돌아간다는 말
변수
변수는 데이터를 저장하는 공간'
- 물건을 저장하는 상자와 같음
변수 선언 : 컴파일러에게 어떤 변수를 사용하겠다고 미리 말하는 것
변수 이름짓기 : 키워드를 제외한 알파벳문자, 숫자, _ (언더바) 사용가능, 다른 특수기호는 못 씀!, 대소문자 구별함
'TIL > [C++ 프로그래밍} TIL' 카테고리의 다른 글
TIL (22.03.21) (0) | 2022.03.21 |
---|---|
TIL (22.03.20) (0) | 2022.03.21 |
TIL 4 (22.03.16) (0) | 2022.03.16 |
TIL 3 (22.03.16) (0) | 2022.03.16 |
TIL 1 (22.03.14) (0) | 2022.03.14 |