본문 바로가기

컴퓨터/언어,프로그래밍

C언어 :: 파일 입출력 함수 출처 : http://blog.paran.com/isdev8587/4876504 1. 파일 구조체 typedef struct { int level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ int bsize; /* Buffer size */ unsigned char *buffer; /* Data transfer buffer */ unsigned char *curp; /* Current active pointer */ unsigned istemp; /* Temporary f.. 더보기
C언어 :: malloc 사용 예 #include #include #include void main() { char ** NameArray; int iArrayCount; char temp[1024]; int i; printf("몇 명을 입력할까요?"); scanf("%d",&iArrayCount); fflush(stdin); NameArray = (char **)malloc(sizeof(char *) * iArrayCount); for (i = 0;i < iArrayCount ;++i) { printf("[%d] 이름 : ",i+1); gets(temp); NameArray[i] = (char *)malloc(strlen(temp)+1); strcpy(NameArray[i],temp); } for (i = 0;i < iArrayCoun.. 더보기
프로그램 배포하기(Setup 프로그램 만들기) 프로그램 배포하기(Setup 프로그램 만들기) Setup 프로그램을 제작하기 위해서 가장 많이 사용하는 Tool이 InstallShield이다. InstallShield는 Visual Studio Enterprise Edition 6.0에서 기본적으로 제공하는 Version이 있고 판매용 버전이 있다. Visual Studio에서 제공하는 버전에 약간의 기능 제한이 있는 것을 제외하면 사용법이 같으므로 Visual Studio 제공버젼으로 설명한다. 프로그램을 배포할 때 대부분 Debug 정보들이 들어 있지 않는 Release 버전(프로그램 크기가 훨씬 작음)으로 컴파일하여 배포한다. 또한 프로그램이 1개의 실행 파일로 되어 있을 경우에는 컴파일 옵션에서 'Use MFC in a Static Librar.. 더보기
정적 메모리 할당 vs 동적 메모리 할당 정적 메모리 할당 (Static Memory Allocation) 저장하고자 하는 데이터의 메모리 공간이 얼마인지 명확하게 아는 경우에는 정적 메모리 할당을 사용한다. 예를 들어 이메일 주소를 저장하고자 할 경우 이메일 주소는 아무리 길어도 256 이상이 되지는 않을 것이므로 이메일 주소를 저장하기에 충분한 메모리 공간을 미리 할당해서 사용한다. (물론, 적당한 크기를 할당해야 한다.) ex) char email[256]; 정적 메모리 할당의 경우 고정된 메모리 공간을 할당하므로 메모리 낭비가 있을 수 있다. 그러나, 동적 메모리 할당으로 발생하는 여러 문제점들을 고려하지 않아도 된다는 장점이 있다. 얼마만큼의 메모리 공간이 필요한지 알 수 있다면 약간의 메모리 낭비는 있지만, 정적 메모리 할당을 사용하.. 더보기
C언어 :: 이중포인터 사용법 [질문] #include #include void main(void){ char **txt_image; int i,j,k; for(i=0; i 더보기
C언어 :: C언어 입출력 C언어의 입출력 C 언어는 컴퓨터에 올려져서 운영체제의 여러 기능을 이용한다. C 언어 시스템은 라이브러리를 가지고 있는데, 예를 들면 기본적인 산술 함수들은 산술 라이브러리에서 제공되고, 입출력함수들은 표준 라이브러리에서 제공된다. 이 장에서는 printf()와 scanf()를 포함한 표준적인 입출력을 자세히 설명하기로 한다. 1. 출력함수 우리가 자주 사용하는 출력함수는 printf()이다. 이것의 장점은 크게 두 가지로 볼 수 있는데, 첫째는 인자 리스트를 구성할 때 길이에 제약이 없다는 것이고, 둘째는 출력의 제어가 간단한 변환형식(format)에 의해 이루어진다는 것이다. 즉, 사용자가 직접 필요한 변환을 하지 않아도 된다는 것이다. printf() 함수는 표준출력 파일 stdout에 문자 스트.. 더보기
C언어 :: 매크로 5. ctype.h의 매크로 시스템은 표준 헤더 파일 ctype.h를 제공하는데, 여기에는 문자를 검사하거나 변환하는 데 사용되는 매크로가 들어 있다. 이들을 이용하려면 전처리기 제어문 #include 이 프로그램에 명시되어야 한다. 문자를 검사만 하는 매크로들은 참 혹은 거짓을 나타내는 비영 혹은 영인 int 값을 반환한다. 이들은 표 조사에 의해 구현되므로 매우 효율적이다. 매크로 참이 반환되는 경우 isalpha(c) isupper(c) isslower(c) isdigit(c) isxdigit(c) isspace(c) isalnum(c) ispunct(c) isprint(c) iscntrl(c) isascii(c) toupper(c) tolower(c) toascii(c) c가 문자 c가 대문자 c.. 더보기
[C언어] C언어란? C 프로그래밍 1. C언의 개요. C 언어는 1972년경 벨 연구소의 데니스 리치(Dennis Ritchie)라는 사람에 의해 디자인되었는데 1960년대 ALGOL로 시작해서 Cambridge의 CPL(1963), Martin Richards의 BCPL(1967) 그리고 같은 벨 연구소의 Ken Thompson의 B언어에 기본을 두고 있다. 이러한 C 언어는 범용프로그래밍 언어로 만들어졌지만 전통적으로 시스템프로그래밍에 쓰여졌고, 그 좋은 예로 유명한 C 언어는 UNIX라는 운영체제를 개발하는데 사용되었으며 그 이후 C 언어는 날이 갈수록 그 인기가 더해졌는데 그 이유는 아래와 같다. 첫째, C 언어가 여러 가지 애플리케이션의 제작에서 완벽에 가까운 기능을 제공하기 때문이다. C 언어는 포인터, 구조, .. 더보기