창고(42)
-
국기3기 정규수업 11일차 메모
진철이 16장 함수고급 ppt 지적사항 - std vs cd 정확한 차이점을 조금 풀어서 써주기 - C++ 에서 주로 쓰는 inline, 맴버변수 초기화 - C에서 되는 예제 제시하고 차이점 분석 추가 내 생각) std, cd 주로 사용하는 언어, 두 개 속도 차이? 문제풀이 반복문, 성적표 기억부류 INT 운영체제의 호환을 위해 windows에서 사용한다. 지역변수 - 선언된 이후부터 활용이 가능하다. 생성주기 : 이름이 똑같은 변수는 지역주의로! 먼저 실행. 해당지역에서만 참조 가능하다. 지역이 파괴도면 함께 파괴된다. 전역변수 - 전 지역에서 참조 가능하다. 생성주기 : 프로그램 시작할 때 생성해서 프로그램이 끝날 때 파고된다. 정적변수 - 선언된 지역에서만 접근가능하다. 생성주기 : 전역변수와 소..
2015.03.12 -
국기3기 정규수업 9&10일차 메모
9일차전체 토론1장 ~ 10장까지 전체 정리 10일차 포인터 int* a; 주소의 저장이 주 목적. 운영체제로부터 메모리공간 어딘가에 타입에 상관없이 4바이트의 메모리공간을 할당받고 그 주소위에는 a라는 방을 만들고 그 방안에는 쓰레기 주소값이 들어있다.(32비트운영체제) 운영체제에서 처리하기 좋아하는 단위가 1워드. 한 번에 프로세서가 램에 올리는게 1워드. int *a = 0; // 0x00000000은 운영체제가 쓰지 않는 주소. Null Pointer - 아무것도 가리키지 않는 주소. 널 포인터와 주소만 저장할 수 있다. 주소와 0! 모든 포인터는 초기화 시 Null로 초기화! 내부적으로 얼마씩 연산해야하는지 알아하기 때문이다. -----------------휴식-------------------..
2015.03.11 -
국기3기 정규수업 8일차 메모
조건문, 반복문, 형변환 조건문 - 참과 거짓을 판별하기 위한 문법.논리 - 명제 자체를 (프로그램적으로) 명확하게 세워야한다. ex) 0은 거짓이다.(프로그램적으로 명제를 참으로 정의함.) 1도 참이다. 2도 참이다. 0이 아닌 것은 모두 참이다. if, if~else, if~else if~else else는 if가 아닌 모든 경우 if는 생략할 수 없다. 분기문 switch(조건) { case 1: // 실행 break; ... default: break; }조건 - 정수형이 되어야한다. 실수, 문자열은 안됨! dafault와 else는 에러처리를 위해 사용. case lable 에러 - 스위치와 케이스의 변수의 애매함으로 인해 생기는 문제. 괄호를 해주는 습관! if else 문장은 -> switc..
2015.03.09 -
20150308 토론정리
오프라인 토론 - 혼자 연구하는 C/C++15장const int ** int * const *int const ** 의 차이. 오늘 쪽지 시험 봄.함수 설계 원칙 6가지1. 함수의 이름만 봐도 그 기능을 알 수 있게 해라 2. 한 번 이상 반복되는 코드는 반드시 함수화 하라3. 반복되지 않더라도 한 단위로 볼 수 있는 것은 함수화하라4. 입 출력을 명확하게 해야한다.5. 하나의 함수는 한가지 기능만 해야한다6. 함수 스스로가 오류처리를 할 수 있어야한다 define 상수를 사용할 때는 반드시 각 요소마다 괄호를.((i)*(i)) volatile 키워드를 변수에 붙일 경우. 해당 변수가 최적화되어 개발자의 설계 목적과 다른 방향으로 가는 상황을 막는다.ex) 외부에서 변경이 가능하게 설계된 것인데.. 컴파..
2015.03.08 -
혼자 연구하는 C/C++ 13장 정리(구조체)
1. 구조체란?구조체(Structure)를 문장화하여 정의 내리면 "타입이 다른 변수들의 집합"이라고 할 수 있으며 더 간단하게 표현하면 이종 변수 집합이다. 배열은 동종의 변수 집합이다. 기본형식1struct { 멤버목록 } 변수명;cs 2. 구조체 태그구조체 변수가 하나만 필요하다면 위의 기본 형식을 따르면 된다. 하지만 태그를 정의하고 이 태그로 구조체 변수를 선언하는 것이 일반적이다. 구조체 태그는 열거형의 태그와 마찬가지로 타입에 대해 이름을 붙이는 것이다. 기본형식1struct 태그명 { 멤버 목록 };cs 키워드 struct 다음에 태그의 이름을 주고 멤버 목록을 나열한다. 태그도 일종의 명칭이므로 명칭 규칙에만 맞다면 자유롭게 사용해도 된다. 일반적으론 tag_라는 접두어를 사용한다. C ..
2015.03.07 -
20150307 토론정리
오프라인 토론 - 혼자 연구하는 C/C++ 정리11장 배열과 포인터c에는 실제로 2차원 배열은 없다- 왜냐면 메모리는 선형 구조이기 때문이다.메모리상에는 선형으로 정의된다. 배열은 사실 포인터다. 첨자 연산은 내부적으로 포인터의 값 증가.- 서기가 적어놓은 것이긴 하지만. 배열이 포인터란 말은 조금 이상하지싶다.배열 접근의 내부적 연산이 배열과 같다는 것이지 배열이 포인터라고 표현하는건 조금 아닌거같다.배열의 배열명은 시작 주소를 가지는 포인터 상수이다.ar[10]이란 것이 있다면 컴파일러는 내부적으로 이것을 *(ar+10)으로 바꿔서 접근한다.그렇기 때문에 일반적으로 배열이 포인터보다 아주 살짝 느리다. 포인터 배열 = 요소가 포인터인 배열. 끝.이중 포인터 배열 **ptr[3]이라면 **ptr을 3개..
2015.03.07