본문 바로가기

창고

혼자 연구하는 C/C++ 13장 정리(구조체) 1. 구조체란?구조체(Structure)를 문장화하여 정의 내리면 "타입이 다른 변수들의 집합"이라고 할 수 있으며 더 간단하게 표현하면 이종 변수 집합이다. 배열은 동종의 변수 집합이다. 기본형식1struct { 멤버목록 } 변수명;cs 2. 구조체 태그구조체 변수가 하나만 필요하다면 위의 기본 형식을 따르면 된다. 하지만 태그를 정의하고 이 태그로 구조체 변수를 선언하는 것이 일반적이다. 구조체 태그는 열거형의 태그와 마찬가지로 타입에 대해 이름을 붙이는 것이다. 기본형식1struct 태그명 { 멤버 목록 };cs 키워드 struct 다음에 태그의 이름을 주고 멤버 목록을 나열한다. 태그도 일종의 명칭이므로 명칭 규칙에만 맞다면 자유롭게 사용해도 된다. 일반적으론 tag_라는 접두어를 사용한다. C .. 더보기
20150307 토론정리 오프라인 토론 - 혼자 연구하는 C/C++ 정리11장 배열과 포인터c에는 실제로 2차원 배열은 없다- 왜냐면 메모리는 선형 구조이기 때문이다.메모리상에는 선형으로 정의된다. 배열은 사실 포인터다. 첨자 연산은 내부적으로 포인터의 값 증가.- 서기가 적어놓은 것이긴 하지만. 배열이 포인터란 말은 조금 이상하지싶다.배열 접근의 내부적 연산이 배열과 같다는 것이지 배열이 포인터라고 표현하는건 조금 아닌거같다.배열의 배열명은 시작 주소를 가지는 포인터 상수이다.ar[10]이란 것이 있다면 컴파일러는 내부적으로 이것을 *(ar+10)으로 바꿔서 접근한다.그렇기 때문에 일반적으로 배열이 포인터보다 아주 살짝 느리다. 포인터 배열 = 요소가 포인터인 배열. 끝.이중 포인터 배열 **ptr[3]이라면 **ptr을 3개.. 더보기
20150306 토론정리 혼자 연구하는 c 정리.3장 [ 변수 ]진법 변환 주소 값은 왜 16진수?- 메모리 체계에서 2진 비트단위로 나타내는데 1바이트는 4바이트씩 2개해서 8바이트다.바이트 단위로 4개를 읽기 위해서 4비트로 표현할 수 있는 수는 16가지다.그래서 이를 활용하기 쉽게 16진수로 표현하는 것이다.실제 10진 정수형이었다면 자릿수가 바뀌고 사용하는데 매우 불편했을 것이다. 변수의 정의- 사전적 의미론 변할 수 있는 수, 데이터의 보존과 관리를 위함이다. 메모리 관리를 효율적으로 할 수 있다. int a를 선언하면 일어나는 일- 32비트 운영체제로부터 메모리공간 어딘가에 int형 정수 4바이트 만큼 할당받고그 주소위에 a라는 방을 만들고 그 방엔 쓰레기값이 들어있다. 왜 쓰레기 값이 다 같은가?- 내가 제시. 디버.. 더보기
국기3기 정규수업 6&7일차 메모 6일차#include /* 강의 6일차 printf - 타자기를 흉내내어서 화면에 출력\n 실수의 기본형 double 정수의 기본형 int 주소 출력시 %p로! 1과 1.0은 다르다. 숙제 - 사용헤더와 헤더의 뜻 함수 차이점 조사 getch getche getchar gets puts putchar conio.h 왜 따로 있을까? 표준 헤더보다는 공용적으로 사용되던 함수들 CPU와 램하고 속도가 다르다. CPU는 아우토반, 램은 경부고속도록 같이 달리면? 속도가 다르다. 그래서 임시정거장을 만든다.(이것이 버퍼) 입력 버퍼, 출력 버퍼. ----------- 휴식 ------------ scanf format 앞에 있는 서식대로 뒤에 있는 값을 넣는다. 공백, enter를 단위로 입력값을 받는다. - .. 더보기
(과제)입출력 함수들 비교 1. 입력 함수 비교scanf vs getsscanf는 공백 단위로 문자열을 받지만 gets는 공백을 포함하여 문자열을 받는다.gets는 변수 출력을 할 수 없다. 2. 출력 함수 비교printf vs putsprintf와 다르게 puts는 자동으로 개행된다. 그리고 변수를 출력할 수 없다. 3. 입력 버퍼사용여부 차이점엔터가 들어올때까지 입력을 담아둘 수 있다. Enter Key로 문자나 문자열을 리턴한다.입력시 문자 수정 가능 여부가 결정된다. 4. stdio.h, conio.hhttp://ko.wikipedia.org/wiki/Stdio.hstdio.h은 Standard Input/Output library (표준 입출력 라이브러리)의 약어로써, C 언어의 표준 라이브러리 함수의 매크로 정의, 상수.. 더보기
국기3기 정규수업 5일차 Lecture05 작성일 : 2015.03.04 내용, 변수 타입, 변수 선입법(변수), 출력, 입력, 조건, 분기문, 제어문변수의 필요성 - 보존과 관리 메모리를 효율적으로 관리하기 위해서이다. 마인드맵. 열거체는 정수타입으로 분류하기도 한다. wchar_t 확장문장 타입 8bit에선 short가 1바이트실수형일때 정수부분이 많으면 정밀도가 줄어든다. 표현할 수 있는 가수부가 적어지기 때문에! 지식인 - 작문연습설계노트C++ 11예약어! 파랗게 질림(개웃김) 변수명을 구분한다. aAaAaA AaAaAa변수명은 축약하지 말자! 코딩규칙 K&R은 이제 안씀! BSD를 쓰자! 표기법(명칭)Camel : inputNumber 무조건 시작은 소문자 private 내부 변수, 변수!Pascal : InputNum.. 더보기
국기3기 정규수업 3,4일차 메모 3일차신입 2명이 있어 진도 조절로 자습.혼자 연구하는 C/C++ 5~11장까지 미리 예습 4일차메모리 개론보수와 기수, 진법변환자료형과 자료형의 범위변수에 대하여 과제(모두 완료)교수님 홈페이지 글 읽기프로그래밍 입문, 주석, 새로운 세계 C 기존 예비반에서 예습했던 내용들이라 이해하기 쉬웠다. 더보기
혼자 연구하는 C/C++ 11장 정리(배열과 포인터) 1. 첨자연산 배열의 내부적 처리 배열과 포인터는 긴밀한 관계를 가지고 있다. 유사점과 차이점을 분명하게 살펴보고 넘어가야 한다. C에서 배열의 특징 - 1차원 배열만 지원한다. 2차원 이상의 다차원 배열은 1차원 배열의 확장에 불과하다. - 배열을 구성하는 배열 요소의 타입에는 전혀 제한이 없다. T형 변수를 선언할 수 있으면 T형 배열도 선언할 수 있다. 배열끼리 중첩되어 있을 때 다른 배열에 포함된 배열을 부분배열이라고 부르고 부분 배열을 배열 요소로 가지는 배열을 전체 배열이라 한다. int ar[3][4]가 있다고 가정했을 때. 이 배열을 그림으로 그려보면 다음과 같다. 이것을 부분 배열과 전체 배열을 이용하여 선형적으로 그려보면 다음과 같다. - 전체 배열 ar은 arr[0], arr[1], .. 더보기