프로그래밍(25)
-
연습문제 워드패드 파일
연습문제를 모두 풀어본다. 능숙해 질 때까지 GOGOGO
2013.04.04 -
20130404/ 다차원 배열。
◎ 다차원 배열 배열은 1차원을 넘어 다차원 배열을 지원한다. 먼저, 예제를 출력해보자. 위의 소스는 2차원 배열을 다룬다.int array[3][4]는 두 개의 대괄호로 표시했다. 앞의 [3]은 '행', 뒤의 [4]는 '열' 이라 한다.2차원 배열을 개념적으로 보면 아래와 같다. array는 a로 표시한다. 배열 array의 값과 주소의 표시는 아래와 같다.. 다음 소스와 출력 값을 보면서 이해해 본다.
2013.04.04 -
20130403/Hexa_View만들기。(작성중)
흠...헥사 뷰~ 를 만들어서 어디에 사용할 것인지 아직은 자세히 알 수 없지만,수업이니까! 일단 만들어 보도록 한다.◎ Hexa_view만들기 1. 기본소스코드 만들기 먼저 source insight에 main.c, Hexa_view.c, Hexa_view.h 이렇게 파일을 세 개 만든다. main.c 소스를 코딩해 봅니다. 아래와 같은 결과가 나올 수 있도록..결과에 대한 소스 설명은 소스 코드 옆에! 아래는 결과에 대한 소스코드 입니다. #include int main()//지정한 파일의 헥사뷰를 보는 프로그램 { char array[] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P' ,'Q','R','S','T','U','V'..
2013.04.04 -
201303/함수의 분리와 링크. 리눅스에서 make 사용
▣ 함수의 분리와 링크 지난번에 만들었던 함수를 이용하여 OBJ파일만을 이용하여 링크 하는 과정을 알아본다. 어제 hi()라는 함수를 생성하여 main()안에서 어떻게 사용하는지를 확인했다. 오늘은 분리 되어진 함수를 서로 합치는 방법에 대해서 알아본다. 원본 파일을 유지하기 위해 현재 위치에서 폴더 하나를 더 생성한다. 20110420test 폴더가 생성 되어진 모습을 볼 수 있다. 이 폴더 안에 어제 만든 0419.c파일을 복사해 넣어준다. 여기서 0419.c 파일을 cp명령어를 이용해 main.c로 하나 더 만들어 준다. 그리고 0419.c를 mv명령어를 통해 hi.c로 바꿔준다. 아래 그림을 참조 cp명령어는 기존의 파일을 원하는 이름으로 하나 더 복사하는 명령어이지만, mv명령어는 기존의 파일을..
2013.04.03 -
201303/ 포인터 주소 값의 연산. 함수의 원형. 함수의 정의
▣ 포인트 주소 값의 연산주소 영역에 따라 포인트 크기가 결정되고 주소 영역은 버스의 크기에 따라 결정된다. 그러므로 버스의 크기가 곧 포인트 크기가 되는 것이다. CPU와 Memory를 내부적으로 살펴보면, 위의 그림과 같이 레지스터와 메모리에 존재하는 관리자가 서로 연결 되어 있는 것을 알 수 있다.주소 10번지에 1byte 100을 넣어보자. 숫자를 바로 보내 지는게 아니라 전기적으로 변환하여 보내지게 된다.0은 0V, 1은 5V (CPU에서 Memory로 보내지는 전기적 신호)내부적으로 CPU와 Memory사이에서 이렇게 많은 일을 수행하게 되는 것이다. 전자쪽으로 들어가면 더욱 복잡한 일들은 하겠지만, 그냥 이런 일들이 일어난다는 것만 알고 있자. 깊이 들어가면 어지럽다. 다음 그림을 통해 주소..
2013.04.03 -
201303/포인터의 이해
▣ 포인터의 이해포인터(*)는 어딘가를 가리키기 위한 메모리의 값이다. 프로그램을 좀 더 수월하게 이해하기 위해서는 심볼테이블을 만들고 이해할 줄 알아야 한다. 위의 코드에서 보면 마지막 Printf문만 컴파일 에러나 발생한다는 걸 알 수 있다. 직접 입력하여 어떠한 컴파일 에러가 나는지 확인해보자. 위와 같은 에러가 발생하는 것을 알 수 있다. 그 이유는 A는 int형의 변수로 선언되었고, 포인트(*)변수로는 선언되지 않았기 때문이다. 또 하나 주의해야 할 점은 p = &A;라는 명령문이다. 같은 정수 주소값으로 생각하여 컴파일 에러는 발생하지 않지만 경고 메세지가 나타나게 된다. 그것은 서로 자료형이 같지 않기 때문에 생기는 경고 메세지이다. 경고 메세지를 없애기 위해서는 캐스팅을 해줘야 한다. 그러..
2013.04.03