C 에서 메모리 활당 방법 일반변수에 메모리을 추가하여 힙영역에 메모리 활당하여 보자. #include<malloc.h> 헤더함수가 포함하고 있어야 한다. int * a = (int *)malloc(sizeof(int)); // 배열사용시 size 부분에 scanf 로 이용해서 값을 넣는다. 변수 a 에 캐스트 연산자(int *)를 하고 malloc 에서 int 을 sizeof() 에서 크기을 계산하고 있다 그다음에 int * 가 주소값을 반환한다..그리고 그다음에 a 에 대입한다. 메모리을 사용하였으면 다쓰고 난뒤에…
열거형 enum은 "enumerated type"(열거형)의 준말입니다 정해진 규칙은 아니지만 멤버를 대문자로 적어주는것이 가독성이 좋다 #include<stdio.h> enum {A,B,C,D,E,F,G}; main(){ printf("%d %d %d %d %d\n",A,B,C,D,E); } 프린터문으로 화면에 출력하였을경우 순서에 의하여 0,1,2,3,4.. 식의 정수가 출력된다. #include<stdio.h> enum {A,B…
시간이란것을 모르시는분들 없으시겠죠? 자 그럼 컴퓨터의 시간함수에 대해서 알아보아요. 우선 시간을 나타내려면 헤더파일을 포함해야된다. #include <time.h> 아주 중요하죠 없으면 아무것도 못하죠 ^^;; 그다음에 현재 시간을 구하는 time 사용하여 시간을 나타내보자 time_t time(time_t *t); time 함수는 1970 년 1 월 1일 00시 00분을 기준으로 현재까지의 시간을 초로 나타내어준다. #include<stdio.h> #include<time.h> …
렌덤 액세스 ( random access ) 파일안에서 파일포인터(FP)의 위치을 이동시킨다. int fseek(FILE * stream, long offset, int mode) "mode" 에서 숫자를 적어도 상관없다. SEEK_SET 0 파일 맨앞으로 이동한다. SEEK_CUR 1 이동하지 않는다 SEEK_END 2 파일의 끝으로 이동한다. #include <stdio.h> main() { FILE *fp; char ch; …
파일 입출력을 사용하면 워드프로세서나 게임데이타등을 파일로 불러오거나 저장할수 있습니다. 이제것 배운것은 메모리와 하드웨에 함수등에 관련된 프로그래밍을 배웠는데 이제는 파일에 대해서도 배워 보아요~ 파일 열고 닫기 fopen() fclose() 우선 파일 "text.txt" 파일을 만들어줍니다. 그리고 파일에 아무내용을 막 적어주세요!! 그럼 text.txt 파일을 불러오는 프로그램으 만들어 보겠습니다. #include<stdio.h> main(){ FILE *files; …
유니온 (union) : 공용체 사용법은 구조체(struct) 와 같다 다른점은 메모리 공유한다. 유니온안에 변수 선언시 최대 크기인 double 를 기준으로 메모리을 설정한다 메모리 char intdouble double 최대 크기인 8 바이트를 메모리에 활당해놓고.. int 가 사용하면 double 부분에 값을 저장하고 char 가 사용하면 double 에 활당당 부분에 저장하고 이런식으로 메모리의 한부분을 서로 공유한다. #include<stdio.h> union A{ …
구조체의 상속을 쓰는 이유: 여러가지 이유가 있게지만 프로그램을 만들다보면 나중에 추가되는 변수가 있기 마련이다. 그럴때 직접 구조체에 변수를 추가 할수는 있으나 구조체을 잘못 건들이면 프로그램 전체을 재수정해야 되는 경우가 생긴다. 또는 복수적으로 구조체 생성시..똑같은 역활을 하는 변수가 여러게 있을때 재사용 하는경우도 있다. #include<stdio.h> struct A{ int x; }; struct B{ struct A aa; //상속 int y; …
구조체를 사용하다보면 함수안에서 구조체값을 조작해야 할때가 있는데 대충 아래와 같이 사용하면 된다. #include<stdio.h> struct A{ int x; }; one(); main(){ struct A aa; on(&aa); printf(" 정수값 : %d \n",aa.x); } one(struct A *bb){ int num; printf(" 정수를 입력하세요…
구조체 포인터 구조체 포인터는 일반 포인터와 사용법이 비슷하다 #include<stdio.h> struct Student{ char nick[20]; char name[20]; }; main(){ struct Student ss={"홍당무","홍길동"}; // 초기화 struct Student *aa; aa=&ss; printf(" %s \n",(*aa).…
구조체 배열 구조체도 배열을 이용할수 있다. struct A{ char nick[10]; char name[20]; }; main(){ struct A aa[5]; .... } 구조체 변수에 struct A aa[5] 라고 정의하여 배열임을 표시하고 있다 아래의 표을 보면 대충 이해되리라 생각합니다. 배열 생성방식 배열 aa[0] aa[0].nick aa[0].name aa[1] aa[1].nick aa[1].name aa[2] aa[2].nick aa[2].nam…