본문 바로가기

C언어

불러온 파일 Hexacode 보여주기 #include #include #define LEN 16 int main(int iParam, char *cpParam[]) { int iCnt=0; int iCnt2=0; FILE *stFile; char cBuf; char caStr[LEN+1]=""; // NULL초기화 17개 if(2 != iParam) { // 인자 검사 2개가 아니면 종료! fprintf(stdout, "파일 이름을 쓰세요\n"); return 0; } stFile = fopen(cpParam[1], "rb"); // 2진모드로 읽기! if(0 == stFile) { // 못열경우 실행!! fprintf(stdout, "[%s]파일을 찾을 수 없습니다\n", cpParam[1]); return 0; } printf("┏━━━.. 더보기
2010년 12월 03일 금요일 malloc() 함수 (정리중) malloc()함수 malloc()함수는 heap영역에 메모리를 할당한다. 메모리의 부족으로 할당에 실패하면 NULL을 반환. 프로그램의 실행이 끝나기 전에 반드시 free()함수를 호출하여 할당을 해제해 주어야한다. 만약 해제하지 않으면 메모리에 그대로 남아있어 계속 쌓이다 보면 결국 메모리의 용량이 부족하게 되는 현상이 나타난다. #include #include // malloc() 함수 사용 #include // strcpy() 함수 사용 typedef struct tag_student { char name[20]; int score; } student; int main() { student st[3]; student *sp; int i; sp=(student*)malloc(sizeof(studen.. 더보기
2010년 11월 30일 화요일 구조체의 정적 연결리스트 (static linked list) 정적 연결리스트 (static linked list) #include typedef struct test { int iNum; struct test *Next; }TEST; int main() { TEST A1={1, }; TEST A2={2, }; TEST A3={3, }; TEST A4={4, }; TEST A5={5, }; TEST A6={6, }; TEST *p; p = &A1; // A1.Next = &A2; p->&A1과 같다 p->Next=&A2; A2.Next=&A3; A3.Next=&A4; A4.Next=&A5; A5.Next=&A6; printf("A1.iNum : %d\n", p->iNum); printf("A2.iNum : %d\n", A1.Next->iNum); printf("A3.. 더보기
2010년 11월 29일 월요일 구조체 사용자정의 (struct) & 구조체 초기화 #define \test 1 ☜ test 앞에 역슬러시(\)를 붙일경우 #define 하고 연결이 되서 #define test 1 하고 똑같이 취급된다. 역슬러시(\)를 안붙일경우는 #define 따로 test 1 따로 이므로 문법에 맞지 안다. 구조체 사용자 정의 (struct) 위의 그림의 3가지 문법 모두 동일하다. 첫번째 문법은 구조체를 선언할때마다 struct을 붙여 줘야하지만 두번째 세번째 문법에서는 struct을 쓰지 않는 것을 볼수 있을 것이다. 구조체의 초기화 #include typedef struct _memset { int iAddr; char cChara; int iSize; }MEMSET; void my_memset(void *, unsigned char, int); void pr.. 더보기
2010년 11월 22일 월요일 (struct(구조체)) 사용자정의 자료형 struct 구문 자체는 메모리에 존재하지 않음(서술 or 설명 : ex 인간) ex) struct TEST { int iNum; char cNum; } int main() { struct TEST TS; struct TEST ST; TS.iNum = 1; ST.iNum = 5; printf("TEST iNum : %d", TS.iNum); printf("TEST iNum : %d", ST.iNum); return 0; } TS.iNum 과 ST.iNum은 다르다. C에서는 struct를 반드시 적어주어야 한다. (struct TEST TS;) struct를 안쓰고싶을경우는 typedef정의를 해주면된다. ex) typedef struct TEST { int iNum; char cNum.. 더보기