본문 바로가기

C,C++언어 생기초 C언어의 꽃 포인터 시작하기 C,C++ C언어의 핵심인 꽃, 포인터 포인터는 C언어가 고급언어인데오 low 레벨 언어의 특성을 지닌다고 이야기하게 만든 장본인입니다. 포인터가 왜중요하냐? 바로 메모리를 직접적으로 접근하고 제어할 수 있게 해주기 때문입니다 이렇게 컴퓨터의 하드웨어에 접근하는 특성 때문에 게임같이 메모리나 성능이 중요한 프로그램들이 C나 C++로 만들어집니다 이 외에도 운영체제단처럼 직접적으로 하드웨어와 소통해야 하는 프로그램은 대부분이 전~ 부 C로 만들어져 있어요 자바를 먼저 접한 사람은, 자바에는 포인터라는 것이 없던데 쓸 모 없는 것이냐 할 수도 있지만 자바 언어 기반이 C언어예요 결국 내부적으로 C가 다 포인터를 이용해서 처리해줬기 때문에 보이지 않았을 뿐입니다. 1. 메모리 주소 포인터란 결국 메모리 주소와.. 더보기
C/C++ 프로그램 구조 개발 처음시작하기 C나 C++이나 C#이나 비슷하니 말 할때 그냥 C로 통칭할께요 자 프로그래밍 언어로 코드를 짜서 우리가 원하는 프로그램을 만들 수 있다는 걸 알아요 하지만 프로그램을 만들어봐 하면 막막하잖아요 어떻게 시작하지? 뭐부터 짜야하지? 오늘은 C언어로 프로그램을 짜기 전에 어떤 구조로 짜야할지 어떻게 구조가 이루어져있는지 각각 구조는 무엇을 의미하는지에 대해 한번 훑고 넘어가는 시간을 가질께요 그리고 각각에 해당하는 부분은 나중에 조금더 상세하게 다루도록 하겠습니다 C프로그램의 구조 (Structure of a C program) 프로그램은 대게 이런구조를 띄고 있습니다 꼭 이렇게 작성해야 되는건 아니지만 모든 개발자가 지키고 있는 룰이죠 이렇게 해야 코드를 나중에 수정하기도쉽고 알아보기도 쉽고 쉽게말해서 짜.. 더보기
프로그래밍 기초) 함수란? 함수의 종류, 함수 역할 및 기능, 메인함수 오늘은 기초 중의 기초 함수에 다뤄보도록 하겠습니다 함수란? 수학에서 많이 봤기 때문에 익숙한 그림이죠? x를 넣었더니 안에서 뭔가 짬뽕후 f(x)즉 y를 뱉어주는 그림입니다. 함수란 어떤 재료를 넣어 새로운 값을 만드는 틀 이라고 생각하시면 이해하기 쉬울겁니다 근데 틀이 왜 필요할까요? 사용자 정희 함수 맨날 하던거처럼 예시를 들어보겠습니다 자.. 중간고사가 끝이났어요. 학생들은 수학, 영어, 국어 과목을 시험을 봤고 그 채점 점수 파일이 나한테 있다고 가정해봅시다. 각 학생들 평균 점수를 구한 다음 알려주려고 해요 [C++] C++은 출렵함수가 cout 입니다. java일 경우 System.out.print, C일경우 Printf 언어마다 다르지만 같은 격할을 합니다. 예시는 C언어로 들었지만 이번 .. 더보기
C, C++, java 등 언어 공통 반복문 상세설명!! 아무것도 하기싫고 밖에는 비가내리고 날씨는 꾸루찝찝하고 그렇다고 가만히 있자니 시간이아깝고 블로그 포스팅이나 써볼까요? 참고로 자바나 C언어나 C++이나 문법이 대부분 동일하기 때문에 예시는 번갈아가면서도 모두 익힐수 있도록 했어요 사실 어떤 언어든지 그건 도구일뿐.. 목적은 아니니깐요 반복문 이번 포스팅은 기초 중에 기초!! 반복문에 대해서 써볼께요 작업자동화! 최근에도 이곳 저곳에서 일정한 작업을 자동으로 기계가 많이 수행해주고 있죠 반복문은 어떤 작업이 반복적으로 수행되도록 제어할 때 사용해요 반복문의 기초지만 진짜 중요도가 높습니다. 소요되는 돈이 다 반복문에서 결정난다고 해도 과언이 아닙니다 나중에~ 알고리즘 하면서 어떻게 하면 효율적으로 반복문을 사용할수 있을지 고민하는 자신의모습을 발견하게 .. 더보기
프로그래밍에서 변수란? 자료형이란? 데이터 타입 종류 및 크기 C, C++, C#, java, python 등등.. 다양한 언어가 있는데요 프로그래밍 공통은 이러한 언어들에서 공통적으로!! 나오는 개념을 정리하는 카테고리예요 공통적으로 다 포함되어 있다는 말은 기초 중에 기초이면서도 그만큼 중요한 개념이겠죠 프로그래밍에서 변수란? 수학 과묵을 들어본 학생이라면 변수라는 단어에 대해서는 익숙할 거예요 x+y+z=10 할 때 미지수 x y z를 변수라고 부르죠 수학에서는 정해지지 않은 임의의 값을 대입 할 수 있는 문자를 가르켜 변수라고 합니다. 프로그래밍에서도 변수는 이와 유사해요 변수는 결국 정해지지 않는 값을 저장한느 그릇 상자인거죠!! 여기 보면 15라는 데이터값을 저장한 상자하나와, 10이라는 데이터 값을 저장한 상자 하나가 있어요. 이상자를 구분해주기 위해서.. 더보기
[C++, java 언어공통]상속을 언제, 왜 쓸까? inheritance, Is-A 상황으로 상속 한번에 이해하기 우리가 메이플스토리 게임을 만들거예요 하주 대충요 일단 메이플스토리의 캐릭터들을 만들어봅시다 마법사, 전사, 도적 이렇게 만들어 볼게요 그러면 대략적으로 class 마법사 { ~ }; class 전사 { ~ }; class 도적 { ~ }; 근데 캐릭터들은 당연히 움직일수 있어야 하니까 관련 기능을 넣어줘야겠죠? 이능을 함수(메소드)로 구현해줍니다 이렇게 마법사에게 움직이고 뛰고 앉을 수 있는 기능들을 추가해줬어요 그런데 이기능들은 마법사에게만 해당하는 것은 아니죠? 전사도 움직이고 점프하고 앉을수 있어야 하고, 도적도 움직이고 점프하고 앉을 수 있어야 해요 즉 세개의 클래스에 똑같이 저 기능을 추가해줘야 하는거예요 벌써부터 노가다 기운이 올라오지 않나요? 지금 예시 캐릭은.. 더보기
C++ , JAVA 등 언어 공통) overriding 재정의, 오버라이딩이란? 오버라이딩은 오버로딩이란 단어도 비슷해서 자주 비교해서 출제되요 그러니깐 오버라이딩 보기전에 오버로딩이 헷갈리시다면 오버로등 게시글을 보고 오시는걸 추천합니다 오버라이딩 들어가기전에 확실하게 잡고있어야할 개념입니다 overriding 오버라이딩이란? 오버라이딩은 상속의 개념에서 자연스럽게 넘어가면 이해하기 편해요 저번 게시글에서 메이플 캐릭터를 예시로 상속에 대해서 얘기했었는데 오버라이딩은 결국 상속을 조금더 편하게 사용하기 위해서 나온거랍니다 자 부모 클래스 캐릭터와 자식 클래스 전사와 도적이 있습니다 그런데 좀 생각해보면 도적은 보통 민첩이 높아서 날라다니거나 걷는 속도가 훨씬 빠르잖아요 지금은 부모인 캐릭터 클래스로부터 물려받아서 전사나 도적이나 둘다 속도가 10이잖아요 자식이라 똑같이 물려받으니깐.. 더보기
( C, C++,JAVA 공통 ) 오버로딩이란? 프로그래밍의 기초를 다지는 시간입니다. 이번에는 OVERLOADING 오버로딩 VS OVERRIDING 오버라이딩 말이 비슷해서 비교대조 문제로 종종 출제되는 오버로딩에 댕해서 알아볼께요 ※ OVERLOADING 이란? 사진에서 볼수 있듯이 "너무 많이 적재하다" 라는 의미를 가지고 있습니다 즉 겹겹히 쌓아올리는 이런느낌을 생각하면 됩니다. 자그러면 C++, JAVA, C#,C등 언어에서 사용되는 함수 오버로딩 또는 메소드 오버로딩은 무엇을 의미할까요?? 일단 '함수/메소드 +오버로딩' 이니 '함수를 겹겹히 덮어쓰는행위' 라는것을 유추해볼수 있어요 (+함수 중첩) 함수오버로딩이니 함수부터 생각해봅시다 함수를 정의할때 그래서 SUM(5,3) 하면 5+3인 결과 값 8을 우리가 얻을수 있어요 하지만 만약 소.. 더보기