U E D R , A S I H C RSS

새싹교실/2014/다빈치인재반/2회차

Difference between r1.3 and the current

@@ -143,3 +143,5 @@
* 포인터 복습. 잊혔던 기억이 되살아나서 감회가 새로웠다. 재미있었음! 바로 다음 시간에 기프 수업 듣는데 컴파일 과정이 나왔다. 예기치않게 예습한 셈이 됨ㅋㅋ - [이지수]
* 목표한 진도까지는 나갔습니다. 학생들이 공부를 미리 해왔기 때문에 진행이 수월했네요. 주변에 도움을 주는 사람들도 많아서 진행하기 좋았습니다. 자료구조 시간에 배웠던 내용을 그대로 진행해보고 있는데 이렇게 되면 다음 시간도 이론 수업이겠네요. 아무래도 실습은 과제로 내주는 방법 밖에는 없겠습니다. 진행을 하면서 한 가지 아쉬웠던 점은 나올 수 있는 질문에 대해서 미리 준비하지 않은 점. 다음 시간에는 그 점을 더 보강해야겠습니다. - [권영기]
* 배웠던 내용을 복습했다. 다음시간부터는 모르는거라 설랜다. 권영기선배님 설명도 좋았다. 그냥 좋다 ^ㅡ^ [권준혁]
----
[새싹교실/2014/다빈치인재반]




1. 예정

  • Compile
  • Pointer
  • Call by Value / Call by Reference
    * 이중포인터
    * C 메모리 구조

2. 참여자

강사 권영기 O
새싹 금강현 O
권준혁 O
이지수 O

4. 숙제

  • 후기 남기기.
  • 포인터를 사용하여 두 변수의 값을 교환해주는 함수를 작성하시오.

4.1. 이지수

#include<stdio.h>

int main()
{
	int x = 5, y = 8, z;
	int *p, *q;
	p = &x;
	q = &y;

	printf("p의 값은 %d, q의 값은 %d\n",*p, *q);

	z = *p;
	*p = *q;
	*q = z;

	printf("p의 값은 %d, q의 값은 %d\n",*p, *q);

	system("pause");
	return 0;
} //함수가 아니라 틀렸다!! 라고 조심스래 말해봅니다,,, 권준혁
권준혁의 태클로 수정습니다.
#include<stdio.h>

void exchange(int *a, int *b);

int main()
{
	int m, n;
	int *ptr1, *ptr2;
	printf("두 정수 a, b 입력 :");
	scanf("%d %d", &m, &n);
	ptr1 = &m;
	ptr2 = &n;

	
	exchange(*ptr1, *ptr2);

	printf("두 정수 a, b 출력 : &d %d",m,n);
	system("pause");
	return 0;
	
}

void exchange(int *a, int *b)
{
	int z;
	z = *a;
	*a = *b;
	*b = z;

}

근데 이거 돌려보면 처리되지 않은 예외가 있다고 뜨네요..왜지?
후 지수야,,, printf에 &d가 아니라 %d지...exchange(ptr1,ptr2)지...아직 멀었구나...- 권준혁
컴파일해봤는데 오류떠서 봤더니 stdlib.h가 include 안되있구나... system() 쓰려면 필요함 - 권준혁
  • ?! 근데 첫번째코드에선 왜 stdlib.h인클루드 안했는데 오류가 안났지??
  • 금방 돌려봤는데 에러뜨던데? 근데 프로그램 실행은 되더라 - 권준혁

4.2. 권준혁

함수만 만들기 뭐해서 main함수까지 작성했습니다
#include<stdio.h>
//여기부터가 함수
void switch(int *xp, int *yp){
int temp;
temp = *xp;
*xp = *yp;
*yp = temp
}
//여기까지가 함수

int main()
{
     int a = 39, b =573;
     int *ap;
     int *bp;
     ap=&a;
     bp=&b;
     printf("바꾸기전에는 %d, %d",a,b);
     switch(ap,bp);
     printf("바꾸기후에는 %d, %d",a,b);
     retrun 0;
}

//컴파일 안돌려본거라 문법상 오류가  있을지도 모르겠음,,,
//함수는 문제없을듯
그런데 retrun은 생전 처음보는데요, 이게 뭐죠? - 이지수
retrun -> return - 권영기
중요한 함수부분은 문제 없으니 맞다고 열심히 변명해봅니다 - 권준혁

4.3. 금강현

으어.. 내가 젤 못해ㅠㅠ
#include<stdio.h>
int main()
{
	int num1, num2, *num1_p, *num2_p, temp;
	scanf("%d\n", &num1);
	scanf("%d\n", &num2);
	num1_p = &num1;
	num2_p = &num2;
	temp = num1;
	*num1_p = num2;
	*num2_p = temp;
}

  • malloc(), calloc(), realloc(), free()에 대해서 찾아보기.
    C reference 사이트.
    malloc
    realloc
    calloc
    free



5. 찾아보면 좋은 사이트

6. 후기

  • 포인터 복습. 잊혔던 기억이 되살아나서 감회가 새로웠다. 재미있었음! 바로 다음 시간에 기프 수업 듣는데 컴파일 과정이 나왔다. 예기치않게 예습한 셈이 됨ㅋㅋ - 이지수
  • 목표한 진도까지는 나갔습니다. 학생들이 공부를 미리 해왔기 때문에 진행이 수월했네요. 주변에 도움을 주는 사람들도 많아서 진행하기 좋았습니다. 자료구조 시간에 배웠던 내용을 그대로 진행해보고 있는데 이렇게 되면 다음 시간도 이론 수업이겠네요. 아무래도 실습은 과제로 내주는 방법 밖에는 없겠습니다. 진행을 하면서 한 가지 아쉬웠던 점은 나올 수 있는 질문에 대해서 미리 준비하지 않은 점. 다음 시간에는 그 점을 더 보강해야겠습니다. - 권영기
  • 배웠던 내용을 복습했다. 다음시간부터는 모르는거라 설랜다. 권영기선배님 설명도 좋았다. 그냥 좋다 권준혁

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:50
Processing time 0.0353 sec