C 전화번호부 v1.0_1)
자료구조란 ? 우리가 부여한 데이터들을 , 어디에, 어떤 구조로 저장할 것인가. 일반적으로 대부분의 경우에는, 자료구조를 결정하고 , 그 다음, 코드를 작성한다. 어떤 데이터를 보관하고, 유지하고, 다뤄야 하는지를 생각해본다. 이 경우에는 비교적 자명하다. 프로그램이 저장해야 할 데이터는 기본적으로 사람의 이름과, 전화번호부 이다. 여러 사람의 이름들과 , 그 사람들의 전화번호부. 가장 기본적인 방법은 물론, '배열' 을 사용하기. 왜 ? 사람이 여러명이니까, 전화번호도 여러명이니까 사람 이름은 각각이 문자열인데, 그 문자열이 여러개 있는것. 우리가 일반적으로 동일한 타입의 데이터가 여러개 있을 때, 그 데이터를 저장하는 가장 기본적인 자료구조는 '배열'이다. 이 경우에는 데이터가 2 가지 ( 전화번..
더보기
4) (예제1)scanf, fgets, gets 함수 차이점
제 $ 를 쓰고, 한칸 띄고, 특정 문장을 입력하고, 엔터키를 치면 hello:5 와 같이, 내가 입력한 문자열과, 그 문자열의 길이가 나온다. 꼭 hello 와 같이, 하나의 문자만 쓰는 것이 아니어도 된다. welcome to the class 와 같이, 공백이 포함될 수 있고, 이에 대한 문자열 길이는, 공백도 포함시켜서 count 된다. VERSION 1 ( scanf ) // Version 1 # include # include int main() { char buffer[ 40 ] ; while( 1 ) { printf("$ "); scanf("%s" , buffer ); printf("%s : %d\n" , buffer, strlen(buffer) ) ; return 0; } # in..
더보기
C언어 기초 복습 ( 배열, 포인터 , 문자열, 동적 메모리 할당 )
1) 메모리 컴퓨터 ''메모리''란, 커다란 테이블이고, **각 칸이 '주소'**를 갖는 것. 주소는. bite 단위로, 매겨진다 컴퓨터의 'ram' 즉, '메모리' 라는 것은, 1 bite 를 저장할 수 있는 공간이, 모여서, 위와 같이 커다란 테이블. 을 구성하는 것이라고 생각하면 된다. 각각의 칸은, '주소'를 가지고 있다. 위에서, 각 칸이 갖는 주소는 1000 번째 부터, 1009 번째 까지이다. **모든 변수는 '주소'**를 가진다. 그리고, '변수'란, 데이터를 저장할 수 있는 '공간' 이다. 메모리의 일정한 '영역' 이다. ex. int 형 변수를 설정하게 되면 , 위와 같이 4 byte 의 공간이 할당되고, 그 공간에 '정수값'이 씌어진다. / 그리고 int 형 변수의 '주소'는 1004..
더보기
#C언어 배열 : 이차원 " 배열 포인터 "
#include int main() { int ary[][4] = { 5,7,6,2,7,8,1,3}; /* 5 7 6 2 7 8 1 3 */ int (*ptr)[4] = ary; printf("%2d, %2d\n", **ary, **ptr++);// 1행 1열 value 출력 printf("%2d, %2d\n", **(ary+1), **(ptr++)); // 1행 2열 value 출력 ptr = ary; // 다시 초기화 해주는 것. 이후 ary와 ptr 값이 달라지므로 ( 위에서 ptr 후위 증감) printf("%2d, %2d\n", *(ary[1]+1),*(ptr[1]+1)); // 2행 2열을 출력 printf("%2d, %2d\n", *(*(ary + 1) +1),*(*(ptr + 1) +1))..
더보기