Development/C, C++(556)
-
Ex-강제 형변환 필요성
강제 형변환 필요성 정수를 정수 나눌 경우 데이터 손실이 발생 소스코드 #include int main(void) { int num1=10; //정수 int num2=3; //정수 double result; //실수 //정수형/정수형 -> 자동형변환에 의해 연산결과인 3.333 값에서 정수값만 result에 저장됩니다. result=num1/num2; //3 = 10/3 (3.333....) printf("결과1 : %lf \n", result); //데이터 손실 발생 result=(double)num1/num2; //강제 형변환, 실수형/정수형 printf("결과2 : %lf \n", result); result=num1/(double)num2; //강제 형변환, 정수형/실수형 printf("결과3 :..
-
Ex-힙영역에 4byte 동적 메모리 공간을 할당한 후 할당된 공간에 데이터를 저장하고 이를 해제하는 코드
힙영역에 4byte 동적 메모리 공간을 할당한 후 할당된 공간에 데이터를 저장하고 이를 해제하는 코드 메모리 구조 int* p=NULL; p = (int*)malloc(4); *p = 10; free(p); p = NULL; 소스코드 #include #include int main(void){ int* p=NULL; p = (int*)malloc(4); if(p==NULL) printf("힙영역에 동적 메모리 할당 실패 \n"); *p = 10; printf("주소: %x \n", p); printf("값: %d \n", *p); free(p); // 힙영역 해제 p = NULL; // 초기화 return 0; } 출력결과
-
ART OF PROGRAMMING CONTEST - C Programming Tutorials, Data Structures, Algorithms
ART OF PROGRAMMING CONTEST C Programming Tutorials | Data Structures | Algorithms Contents Chapter 1 Fundamental Concepts 14 Chapter 2 Game Plan For a Contest 19 Chapter 3 Programming In C: a Tutorial 27 Chapter 4 Essential Data Structures for Contest 72 Chapter 5 Input/Output Techniques 81 Chapter 6 Brute Force Method 85 Chapter 7 Mathematics 91 Chapter 8 Sorting 106 Chapter 9 Searching 113 Cha..
-
Ex-자동 형변환(대입 연산자)
자동 형변환(대입 연산자) 대입 연산자를 기준으로 오른쪽에서 왼쪽으로 자동 형변환 소스코드 #include int main(void) { //문자형(작은 자료형) = int형(큰 자료형) //127까지 표현범위인데 130이므로 오버플로우 발생한 값을 다시 문자형으로 저장 char num1=130; //데이터 오버플로우 발생 //정수(작은 자료형) = 실수(큰자료형) int num2=3.14; //데이터 손실 //실수(큰 자료형) = 정수(작은 자료형) double num3=5; //데이터 손실 없음 printf("%d, %d, %lf \n", num1, num2, num3); return 0; } 출력결과
-
#if~#endif문 (조건부 컴파일)
#if~#endif문 소스코드 #include #define CODE 2 //#define CODE 3 int main(void){ double num1=0, num2=0, result=0; printf("실수 두 개를 입력하세요 > "); fflush(stdout); scanf("%lf %lf", &num1, &num2); #if(CODE==1) result=num1 / num2; printf("나눗셈 결과: %lf \n", result); #endif #if(CODE==2) result=num1 + num2; printf("덧셈 결과: %lf \n", result); #endif #if(CODE==3) result=num1 * num2; printf("곱셈 결과: %lf \n", result); #e..
-
자동 형변환 (산술연산)
자동 형변환 (산술연산) 다른 자료형 간 산술 연산의 경우에 작은 자료형에서 큰 자료형으로 자동 형변환 소스코드 #include int main(void) { int num1=100; // 정수 double num2=3.14; // 실수 //작은 자료형에서 큰 자료형으로 자동 형변환 printf("%lf \n", num1+num2); // 정수 + 실수 printf("%lf \n", num1/num2); // 정수 + 실수 //2째자리까지 출력 printf("%.2lf \n", num1+num2); // 정수 + 실수 return 0; } 출력결과