1일차 : http://gall.dcinside.com/board/view/?id=programming&no=517907
2일차 : http://gall.dcinside.com/board/view/?id=programming&no=518035
------------------------------------------------------------------
어제배운 for문 복습하면서 공부시작
오늘도 딩굴딩굴늦잠자다 늦게일어나서 늦게시작
반복문의중첩. 그냥별거없던 for문 while문 중첩에관한내용
아스키코드 관련한것들
문자관련함수로
isdigit : 너숫자니
isalpha : 너영어니
islower : 소문자니
isuper : 대문자니
상단에 #include <ctype.h> 넣고 하면댐
메모리구조에관련된 내용.
cpu안에 ALU가 머가리역활이고
레지스터 / 캐쉬 / 램 / 하드 순으로
빠르고 느림
휘발성 / 비휘발성
용량작음 큼
다루는 가상메모리는 말그대로 퉁친 가상메모리
복잡한 물리메모리를 OS가 예쁘게 가상메모리로 퉁쳐줌
가상메모리는 4개로나뉘는데
코드영역 : 실행프로그램 코드
데이터영역 : 저장대잇음
힙영역 : 나중에알려준다함
스택영역 : 쌓고 버리고 쌓고 버리고
----------------------------
변수는
지역변수 / 매개변수 : 짜잘한새끼들
전역변수 / static지역변수 : 종료될때까지 데이터영역에서 살아있음
단 후자 두개의 차이는 전역변수는 모든데서 뒹구는데, static지역변수는 변수가선언된 함수안에서만 노가리깜
register키워드도 배웠는데 글쌔.. 이거써먹는건 나중에좀 익숙해지고나 들여다볼꺼같다.
내주제에 무슨 컴퓨터에조언을...
--------------------------------------
printf함수와 scanf함수의 서식문자
이거 낮에 앞에서 안배워서 이거때매 문제가하나 생겼었음
뒤에서 알려준다그랫는데 잘모른상태로 scanf로 입력한값을 아스키코드로 바꾸는걸
시키지도않았는데 혼자 만들어보다가 안되서 질문올렸었음
서식문자하고 ' ' " " 의 개념을 배우지도않고(뒤에서알려준다고 걍쓰라길래 쓰기만했지)
제대로몰라서 생긴 문제였음.
재밋는건 나중에 해결하고 책카페가보니까 나같은 실수한사람들이 보여서 기분좋았음
----------------------------------------------------
printf
%d : int 부호있는 10진수
%u : un int 부호없는 10진수
%f : double 10진수방식 부동소수점
$e : 지수방식? 부동소수점 (%E하면 대문자)
%g : 예쁘게 알아서 만들어줌(%G하면 E대문자로)
%c : int **** %c가 챠르형으로만 생각했는데 어차피 인트로 다바껴서되는거고
값에 대응하는 문자 라고 한다. 인트형으로 옴겨가는데 데이터 손실이 없다는거지.
o랑x가 부호없는 8, 16진수
e표기법 예시 : 1.2e-4 = 1.2 x 10^(-4)
%s : 문자열 ("%s", "aaa") 이런식으로 문자열쓴다는데 여기까지만일단 알고 넘어가라함
포인터관련된건 안배워석 뒤에서보기로하고 스킵
-------------------------------
서식문자의 조합
%d가 끝이아니다!
% # 7 .5 h d 이런식으로 가운데다가 뭐집어넣어서 더 세세한 설정이 가능하다
첫번째(플래그) : 정렬, 빈공간0채우기, +붙이기, 공백, 0 0x 소수점이하 0출력등의 기능 (찾아보고쓰면댐)
두번째 (폭) : 출력에 사용될 최소한의 공간지정.
세번째 (정밀도) : 00123 3.123000이런식으로, 문자의정밀도는 정밀도 크기에맞춰서만 출력이되고 나머지 짤림
---------------------------------
scanf의 서식문자
d,i : 동일
나머지 비슷
f,e,g : float 부호있는실수 아까동일
--------------------------------
scanf의 서식문자 조합
h : 입력될 정수의 자료형 감소
l : 입력될 정수 및 실수의 자료형 증가
L : 입력될 실수의 자료형을 double 에서 long double로
short에 출력시에는 %d가됬지만 입력시에는 할당받지 않는 메모리를 침범케됨
따라서 %d를 %hd로 자료형감소 시켜줘야함
%d : int
%hd : short
%hhd : char
%c로 읽은경우엔 가령
5를입력 - 아스키코드값 53이 저장
%hhd
5를입력 - 정수5가 1바이트로 저장
아하 그래서 예전에 %lf 로 double값을 받았구나!
-------------------------------------------------
비트연산자와 그활용
비트연산자 자체는 어.. 이해하겠음. 뭘하고싶은건지도알겠고
근데 쓸일이 얼마나있을지모르겟네싶은생각이들었음
곱과 나눗셈의 시간절약의문제도 이젠 미비해서 의미없다하고
이런저런 문제요소도 발생할수있는 부분들도 고려해야하고
한가지 비트마스크의 활용을 위해서라는데..
이부분은 아직 이해를 잘못하고있는거같다.. 몇번 봐야할듯..
비트마스크의장점 : 설정해야할 정보가 많은상황에서 선택하면 좋다함(변수 함수 많이안만들어도된다함)
근데아직 이해잘못해서 머시기하는건지 잘모르겟다.
무엇보다 지금 정신상태가 반쯤 멍~해서 봐도 ㅋㅋ
낼복습하면서다시보고 단원연습문제가 기다리고있으니... 오늘은 이만//
공부 졸~라 안한다..하루종일 머하는지~~
그랭
ㅋ
역활->역할
되서->돼서
됬->됐
이 새낀 글 쓸 때마다 지적받네