1. 16진수
10진수 -> 16진수
0,1,2,3,4,5,6,7,8,9,a,b,c,e,d,f
4비트씩 16진수로 변환하고, 구별해주기 위해 0x를 앞에 붙혀준다
-> 0x7ffe00b3adbc’
-> n의 주소 얻고 그 주소에 해당하는 값을 호출 -> 50
2. 주소
S='EMMA' 로정의했을때
저장되어있는 메모리의 한칸 한칸을 비교하기 떄문에 제대로 나옴
but,
=> 문자열을 '저장'하고 비교하면 각각의 주소가 다르기 때문에 비교를 값이 같아도 다르다고 나온다
3. 메모리 저장
=> malloc으로 메모리 자체를 복사하여 t에 할당
malloc <-> free
4. 메모리 교환, 스택, 힙
machine code: 프로그램이 실행될 때 컴파일된 바이너리
globals: 포로그램 내부 지정된 전역 변수
heap: malloc으로 저장한 메모리의 데이터
stack: 프로그램 내 함수
heap과 stack 각각의 메모리가 아래 위로 늘어나서, 메모리 용량을 초과하는 오버플로우 현상 생길 수 있음
5. 파일 쓰고 읽기
scanf 로 실제 스택 영역 내엥 저장된 주소로 찾아가서 값을 저장 +호출
'CS기초' 카테고리의 다른 글
[CS 기초지식 자료구조] -27일차 (0) | 2022.06.22 |
---|---|
[CS 기초지식 알고리즘] -20일차 (0) | 2022.06.14 |
[CS 기초지식 배열]-18일차 (0) | 2022.06.12 |
[CS 기초지식 C기초]-15~16일차 (0) | 2022.06.10 |
[CS 기초지식 2진수/비트]-14일차 (0) | 2022.06.08 |