본문 바로가기

반응형

전체 글

(201)
[컴프2]전역변수의 확장 사용(extern) #include "print.h" #include "printsquare.h" int data; void main(){ data = 3; print(); printsquare(); } 전역변수로 선언된 data 변수를 다른 파일에서 사용하기 위해서는 extern 인자를 사용하여 해당 변수가 다른곳에 이미 정의되어 있음을 명시하여야 한다. #include "print.h" extern data; void print(){ printf("Input : %d\n", data); }
[컴프2]헤더파일 중복선언 방지(ifndef & pragma once) 프로그램을 작성할 때에 헤더파일의 재정의를 방지하기 위해 보통 다음과 같은 구문을 사용한다 #ifndef _헤더명_H #define _헤더명_H ..소스본문 #endif 위릐 세줄을 다음과 같이 한줄로 줄일수 있다. #pragma once #include "print.h" void printsquare(int data){ print(data*data); } ++ 그외 define의 사용법 #define A #define A B - A = B 정의 #define A 3 - A는 3으로 정의 #define int AAA(int A) - 간단하고 짧은 함수의 경우에만 사용
[컴프2]C 파일입출력이용한 파일복사 #include #include void main(int argc, char** argv){ int size = 0; char data[256] = {0}; FILE* src = fopen(argv[1], "rt"); // 카피대상 FILE* dest = fopen(argv[2], "wt"); // 카피받음 do{ memset(data, 0, 256); // 메모리초기화 size = fread(data, 1, 255, src);// a.txt 데이터 읽어옴 fwrite(data, 1, size, dest); // b.txt에 입력 }while(size > 1); fclose(src); // 프로세스 종료 fclose(dest); system("C:\\a.txt"); // 두파일 열어서 비교 system(..
[컴프2]C 파일입출력 - 입력받은 문자열을 파일에 저장 #include #include void main(){ char data[256] = {0}; // 입력받을변수 FILE* src = fopen("C:\\a.txt", "wt"); // 파일오픈 if(src == NULL){ // 예외처리 printf("Fail\n"); exit(0); } printf("Input string\n"); // 문자열 입력 scanf("%s", data); fwrite(data, 1, 256, src); // 버퍼에있는 문자열을 파일로 출력 fclose(src); // 프로세스종료 system("C:\\a.txt"); // 입력확인 }
[컴프2]C - 동적할당(malloc이용) #include #include void mallocex(){ int n; int *size; int i; printf("Input size : "); scanf_s("%d", &n); size = (int*)malloc(sizeof(int)*n); for(i=0; i
[컴프2]구조체, 공용체, 열거형(struct, union & enum) #include #include enum StructType{CHAR = 1,INT,FLOAT,DOUBLE}; // 열거형 union DataType{ // 공용체 char a; int b; float c; double d; }; struct DataStruct{ // 구조체 enum StructType AA; union DataType BB; }; void mallocex(){ // 동적할당 int n; int i; struct DataStruct *use; printf("Input size : "); scanf_s("%d", &n); // 사이즈 입력 use = (struct DataStruct *)malloc(sizeof(struct DataStruct)*n); // 동적할당 for(i=0; i
[컴프2]C언어 strcpy 함수의 구현 void strcopy(char *a, char *b){ // 문자열 복사 int i; for(i=0; i
[컴프2]C언어 strcmp 기능구현 함수 int strcompare(char *a,char *b){ // 비교 함수 int compare; int cnt = 0; compare = 0; while(a[cnt]!= '\0' || b[cnt]!='\0'){ // 두개의 문자열이 끝날때가지 반복 compare += a[cnt]-b[cnt]; // 아스키값의 차를 누적하여 저장 cnt++; } return compare; } 두개의 문자열을 비교하여 주는 함수입니다. 두개의 문자열에서 같 문자의 아스키 코드를 비교하여 같은지 다른지 비교하여 줍니다. 리턴값이 0이면 같은 문자열이며 0이아닌 숫자가 나온다면 다른 문자열이 됩니다.

반응형