본문 바로가기
반응형

코스웨어/14년 스마트컨트롤러287

2014 04.03 업무일지 이재우 출석번호 21번 2014. 4. 3.
04.02 업무일지 [이경진 출석번호 20번) 1. main 함수 인자. main 함수형 int / void 두가지 형태가 있고, 인자는 2개 /없음 두가지 형태가 있다. 위 경우들을 복합하면 다음과 같은 4가지 형태가 생긴다. 맨 위의 void main (int iNum , char *cCmd[] ) 를 활용할때, ★부분은 생략한다. ★ 부분의 상수를 결정해 주는 것은 OS 이다.(사용자가 지정 X) char *cCmd[4] 의 경우, 문자열을 포인터로 저장해야 하므로 char * 이고, gcc /-o/ main/ main.c 이므로 [4] 이다. 위의 인자부분 상수에 대한 확인은 다음과 같다. #include int main (int iNum,char * Cmd[]) //인자는 OS가 넘겨 준다. { printf("%d \n",iNum); ret.. 2014. 4. 3.
2014.03.31 오영주 교육보고 오늘은 배열과 포인터의 다양한 형태와 활용에 대하여 공부하였습니다. -----------[순서]-------------- [1] 배열 1. 삼차원 배열의 개념 2. 다차원 (이차원) 배열의 활용문제 [2] 포인터 1. 다차원 포인터의 개념과 활용 (1) 개념 (2) 활용 2. 다차원 배열과 포인터의 관계 (1) 개념 (2) 포인터 배열 ‘int * pnum[2]’와 배열 포인터‘int(*parr)[2]’ ---------------------------------- [1] 배열 1. 삼차원 배열의 개념 예시로 설명하겠습니다. - 1차원 배열의 예: 학생의 국, 영, 수 성적을 1차원 배열로 저장하라. 각 각의 번지는 국, 영, 수 순서입니다. - 2차원 배열 : 출석번호 1, 2, 3번 학생들의 국, 영.. 2014. 4. 1.
2014.03.28 오두환 교육보고 문제 4,5 번은 추후 업데이트 2014. 3. 30.
2014년 3월 27일 양태영 [출석번호 16번] 29일차 -------------------------------------- 포 인 터 , 배 열 --------------------------------------- --------------------------- --- 포인터 사용시 주의할 점. int iNum = 10; double * dpNum = &iNum; // Warning! double dNum = 10.5; int * ipNum = &dNum; // Warning! 같은 포인터 타입이기에 Error는 안나서 실행은 되지만 다른 자료형(실수, 정수)이므로 Warning입니다. 상황에 따라 어떤 오류가 발생할지는 모르니 잘못된 것입니다. int * ipNum; *ipNum = 1000; // Warning! ipNum에 주소값도 정해져.. 2014. 3. 27.
2014년 3월 26일 송근영[출석번호 15번] 1. 함수의 해석 위의 함수에 대한 결과 값을 예상하기 위해서는 아래 그림처럼 변수를 확인하면서 해석해보는 것이 좀 더 이해하기 쉽다. 문자열 상수와 main에 있는 변수 함수의 인자를 적어놓으면서 반복문의 진행과정을 살펴보면 실제 프로그램 결과 값을 예측하는데에 도움이 된다. 2. 문자열 입출력 연습 프로그램은 모두 다를수 있으며 처음에 썼던 함수를 이용해서 'apple banana tomato'를 출력하였다. 또한 apple와 'banana tomato' 사이에 pineapple를 넣기 위해서 아래 그림과 같이 추가적인 소스를 넣어 주었다. 위 와 같이 임시공간 caTemp를 추가하여 문자열 'banana tomato' 임시로 저장하며 apple과 banana 사이에 pineapple를 넣는다. 첫번.. 2014. 3. 27.
2014년 03월 25일 손병규[출석번호 14] 1차원 배열의 접근 int arr[3]; //길이가 3인 int형 1차원 배열 arr[0] = 10; arr[1] = 12; arr[2] = 25; * 배열의 모든 요소는 반복문을 이용해서 순차적으로 접근하는 것이 편리하다 예) for(iCnt=0; 3>iCnt; ++iCnt) { arr[iCnt]=iCnt; } * 참고 int main(void){ int arr[3]; int[0]=1, arr[1]=2, arr[2]=3, arr[3]=4;} 배열 arr의 길이가 3이고 현재 4번째 요소에 접근을 하였다. 따라서 이것이 문제가 된다. 그런데 컴파일러는 배열접근에 있어서 유효성 검사를 진행하지 않기 때문에 위의 경우에도 컴파일 에러를 일으키지 않는다. 따라서 더 주의를 기울러야 한다.위의 같이 문제를 일으.. 2014. 3. 25.
2014년 3월 24일 서상우 업무일지[출석번호 13번] 전역변수의 이해와 선언방법지역변수는 다른 함수의 값을 공유 못한다는 단점이 있다전역변수는 함수간에 공통으로 변수사용이 가능하다전역변수는 변수를 함수 바깥에 생성한다지역변수: 실행중간에 만들어진다. (Run Time)전역변수: 컴파일중간에 만들어진다.(compile time) (전역변수생성) (메모리 5등분)함수및 변수 저장장소지역변수와 함수 저장위치는 멀지만 함수와 전역변수의 위치는 가까움실행파일(*.EXE)에는 Code(함수), Data(전역변수), Bss(전역변수)가 저장돼 있다.그래서 전역변수를 많이 지정하면 용량 커진다. (함수,및 변수의 주소값)함수주소는 전역변수주소보다 상위에 위치한다.초기화를 시켜준 전역변수는 안시켜준 전역변수보다 상위에 위치한다. a1.c (※) Code영역에는 함수와 상수.. 2014. 3. 24.
20140321 박영주 업무일지[12번] 1.함수의 정의 밑의 소스에서 포인트는 실행하는 순서이다. 일단 Add(int num1 ,int num2)는 어제 배웠던 함수원형이 아닌 ; 없고 { } 가 생긴 함수의 정의를 뜻한다.이것을 컴파일러에게 Add함수가 있다고 인지해주기 위해서 main 함수 위에 표기한다. 그리고 main 함수먼저 실행한다. 밑에 보면18줄에서 iNum=Add(10,20); 위에 있는 Add함수를 호출한다는 뜻이다. 여기서 실행은 잠시 STOP!! 실행순서가 Add함수로 넘어간다. 위에 식에서 10과 20은 Add의 인자이므로 Add 함수의 Num1 Num2 에 대입되어 실행된다. 그럼 Add 함수에 return 반환값은 30 이 되고 , Add함수는 소멸된다.하지만 반환값은 30되어 Add(10,20) 은 30으로 변환되.. 2014. 3. 21.
728x90
반응형