U E D R , A S I H C RSS

CNight2011/고한종


Round 0


많� 모�거� 예�했는� 6피�서 내려온 그 �� 그대로� 당황 ㅋㅋ
권순� 형 만나서 반가웠어욬ㅋㅋ
모��마� �� 할�. 나는 과제+ ��할당 연구하고 태진�는 �했��, 순�형�랑 종하형� 스타함 ㅋㅋㅋ
순�형 발림 ㅋㅋㅋ

  • ì•…ã…‹ã…‹ã…‹ã…‹ã…‹ã…‹ã…‹ã…‹ã…‹ã…‹ - 권순ì�˜


Round 1


지�� 누나 오셨다.
누님께 배열과 ��터� 기본, 주소� �한 .. ��고해야하나 암튼. 근본�으로 배열� ��터와 ��. �런것� 배웠다.
그리고 malloc 쓰는법� 들었�.
런타임�러나서 물어본것�였는� 오류 ��� 설명� 듣고나서 �해했�.
해결� 어쩌다보니 �었�ㅋ

Round 1.5


진경� 등장
ì§„ê²½x 경진 대회 기ìœë¬¸ì œ 풀어줌.
우왕.
malloc 물어봤�니 쭉쭉 나옴.
역시 진경�임

Round 2


��드 리스트 배웠�
ì�´ê²Œ 11학년ë�„ 수능 언어ì˜�ì—­ì—� ìœì œë�˜ì—ˆë‹¤ë‹ˆ
난 기억� 없는�
하지만 난 맞았겠지 언어�서 비문학� 하나� 안 틀렸었으니!
순�형� 소개하고, 종하형� 개�설명 하고, 지��누나가 쓰는 법� 가르� 주셨�.
종하형� �블 ��드 리스트� 하�고 했는� 시간관계� 하지��고 하여 기�.
sorting�랑 스��? �가 한다고 했었는� �것� 결국 안함 ㅋ

Round 3


�혜 먹�
다�엔 볶�짬뽕시켜�야지,.
군대얘기나옴. 으아아아
진경� 안대�고 �는척하면서 웃기는건 다 듣고 웃고있었�ㅋ
다들 치우기싫어서 다 먹고서 한참�안 시간�건 공공연한 진실.

Round 4


Round 3안갔다고 태진�가 그런다.
몰� �거 구분� 종하형� �한 그 �운드가 아니� 그냥 내가 ��하는 �운드임ㅇㄹㅇㄹㅇㄹ

잠� 쫓�고 시작한 카트가 해뜨고 해산할때까지 �어� -_-
막� 역전� 빈번했고 막�� �하고 그런 시간�였�.
난 카트가 없어서 한참�나 ㅜㅠ.

ë°°ì—´


Round 0,1


배열� 근본�으로 ��터란 것� �미 알고 있었으나 실제 컴파�러�서 �런�으로 표현 �다는 것� 배웠다.

ex)

int arr5;
�고 한다면

printf("%d",arr);

-> arr� 주소가 나온다.
-> ��터 연산�를 ��해서 표현하�면 &arr0� �다.

arri = *&(arr0+sizeof(int)*i);
arrij *&(arr00 sizeof(int)*i*j+sizeof(int)*i); -> 맞겠지여...?

실제 메모리��서는 2차��든 3차��든 메모리��서는 그냥 선형으로 저장�다.
사실 ì�´ê²ƒë�„ 새싹êµ�실때 ì�´ë¯¸ ë°°ì› ë�˜ ë‚´ìš©. ì›�í�¬í˜•.. ë³´ê³ ì‹ì–´ìš”.


��터

Round 0,1


datatype* : ��터 �료형 선언법 -> �게 ���� �료형��고 �� 무관.
*val_name : 해당 ��터변수가 가르키는 변수� 값� 참조
&val : &연산� 우측� 주소값� 불러온다.(�건 val�리� 들어가는 변수가 ��터 �료형� 아니여� �)

��터 변수� 주소값� 저장�다고 ��하는것보다. 그 주소� 해당하는 변수를 가르킨다고 ��하는게 옳다.

다중 ��터� 배웠다.

구조체

Round 1


  1. 선언법
    1)
    typedef struct name{
    data...
    data...
    ...
    }nickname;
    사용할� nickname만 �주면 �다.

    2)
    struct name{
    date...
    ...
    };
    사용할때마다 struct name �고 해야한다.

    3)
    typedef struct{
    data...
    ...
    }nickname;
    닉네임만 선언하는 방법. 비표준�란다.

  2. 개�
    �미가 통하는(?) 유용한 (?) ��터들� 그룹화 한다고 ��하면 �다.
    �단 해�면 sort할때 매우 편하다 한가지만 sort해�면 나머지� 따�오니까!

��드 리스트

�단 뭘하는 것 �진 제대로 알았다.
사용법� ��� 나질 않는다.. 사실 �때 졸려서 한귀로 듣고 거� �림..

C언어� ->�런 연산�가 있다는건 알아냄.. 뭔가 �당히 �관�임.

��드 리스트가��!

한 '노드'� �미가 있는 값과 다� 노드� 주소를 가르키는 ��터를 담는다.
다�노드는 그 다�노드를 가르킨다.
�게 계� 반복�다.
보통 �� Null� 가르키는 ��터가온다. 하지만 맨처� 노드를 가르켜 순환형 리스트가 � 수 � 있다.
�방형성� 존재한다.

메모리�� 나란히 선언�어 주소값 간격� �정한 배열과는 달리
��드 리스트는 규칙�� 존재하지 않기 때문� 값�찾는�는 시간� 많� 걸리는 단��있다만.
목�� 중간� 삽입,삭제가 그냥 배열� 비해 매우 편리하므로 �주 사용�다.

즉, 프로그래머는 힘들고 사용�는 편하다는얘기...
하...

�� 할당


<stdlib.h> � 선언한다.

그 뒤 malloc� 쓴다.
ex)
float* dia =(float*)malloc(sizeof(float)*10);

10� 배열로 치면 dia 10�한 셈� �다.
�대로 �면 변수가 10개짜리� 배열� heap 선언한것과 같다.
dia 10�랑 다른��.. dia 10� stack� 할당�다는것� 다른��다.

본래 ��대로�면 배열� '터지는'때를 �치해서 realloc으로 배열� 갯수를 늘려주려고 했으나
C언어�서 int a 2={1,2} 선언후 printf("%d",a2); 같� 경우� 허용하므로 언제 터지는지 알 수가 없었다..
그냥 10개 지정해주었으니 내가 알아서 10개째�때 realloc� �줘야 했다.
암튼 그래서 횟수를 측정할 int i;를 만들고
if(i%10==0)realloc(dia,sizeof(float)*10*k++);��고 했다.
당연히 k� 선언� 변수.
그랬�니 잘�아간다. 기분 좋다!

  • ì§„ê²½ì�´ê°€ ë§�하길 ì�´ê±´ 사람입장ì—�ì„  쓰기 ì°¸ 편하지만 비효율ì �ì�´ë�¼ê³ í•œë‹¤.
    많� 경우� 매모리를 복사해야하니까.
    그러니까 애초� heap� 엄청� 공간� 할당하고, 버�를 통해 값� 임시저장한뒤, 다차면 �공간으로 옮기고 입력� �나면 realloc� 통해 �공간� 알맞게 줄여주는 그런것� � 좋다고 하는� 난 잘모르겠닼
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:41
Processing time 0.0074 sec