분류 전체보기
2013.04.24~25_연결리스트_함수활용
▶ 연결리스트 함수의 활용_ #include #include #include typedef struct node { char data; struct node *next; }NODE; void print_list(NODE *); int count(NODE *); void loop_free(NODE *); void free_list(NODE *); void concatenate(NODE *, NODE *); NODE *search( NODE *, char ); NODE *append( NODE *, NODE * ); int main() { FILE *fp; NODE *temp = NULL; NODE *list = NULL; NODE *list2 = NULL; char ch; if((fp = fopen("10..
2013.04.23_[C언어]표준입력함수_설명
C언어는 기본적으로 자주 사용되는 함수들을 미리 정의해 놓았다.표준 입력 함수들 역시 미리 정의되어 있는 함수들 중 일부이다. 여기서 알아볼 함수는 scanf(), gets(), getchar(), sscanf() 이다. (모두 stdio.h 에 선언되어 있다.)gets() 와 getchar() 는 scanf() 로서 모두 처리해 줄 수 있다. 하지만 gets() 나 getchar() 를 사용하는 경우도 있다.그 이유는 scanf() 보다 gets() 나 getchar() 가 안정적인 입력이 가능하기 때문이다. scanf() 는 상당히 불안정한 함수이다. sscanf() 는 알아두면 상당히 유용한 함수이다. 문자열에서 원하는 자료형으로 추출이 가능한 엄청난 함수이다. [[ char *gets( char ..
2013.04.23_ARM_cstartup.S읽어보기
▶ ARM _ cstartup.S 알아보기 ldr = load registerpc라는 load register에 _low_level_init 를 넣어라-PC(program count) -함수가 컴파일 하면 기계어로 바뀜.-올리는 작업(로딩) -기계어로 바뀐 함수의 시작주소를 CPU에 옮기는 작업(실행)-CPU의 PC(IP:명령있는 포인터)-EIP라고 한다. 인텔 32bit에서는 확장되어 이름이 Extention 이 붙음. 0.142번째줄에서 실행1.reset-0번지로 보냄2.reset handler 호출 3.low_level_init4. _lp_ll_init 5. lowlevel_init 함수 실행 (LCD.c 에 있음, 전반적인 실행을 끌어올려줌)... 순차적으로 실행해나감 ▶ Lowlevel.c에서 ..
2013.04.23_전가산기_
▶ 전가산기는 입력을 x , y , ci(carry in)로 반가산기는 캐리를 무시하지면, 전가산기는 캐리까지 입력으로 받는다. co는 x, y, ci 에서의 캐리를 뜻한다. --------------------------------------
2013.04.23_동적할당_
▶ 동적할당을 이해해보자! 예제 - 10_4.c #include #include // malloc() 함수 typedef struct node { char data; struct node *next; }NODE; int main() { NODE *list; NODE *temp; list = (NODE *)malloc(sizeof(NODE)); // list 에 주소값을 넣고 동적메모리할당 list->data='a'; // 동적할당한곳의 data에 'a' 값을 넣음. temp = list; // temp 에 동적할당받은 list 주소값을 넣음. temp->next = (NODE *)malloc(sizeof(NODE)); // temp->next에 동적할당을 받는다. temp = temp->next; // ..
2013.04.22_연결리스트_free()기초
▶ 연결리스트 기초#include #include typedef struct node { char data; struct node *next; }NODE; int main() { NODE *list; NODE *temp; list = (NODE *)malloc(sizeof(NODE)); list->data = 'a'; list->next = (NODE*)malloc(sizeof(NODE)); list->next->data = 'b'; list->next->next = (NODE*)malloc(sizeof(NODE)); list->next->next->data = 'c'; list->next->next->next = NULL; // 연결리스트의 출력 temp = list; while(temp != NULL..