C언어 20

[C언어 52차시] 구조체 정의, 변수, 선언, 초기화, 참조

목차 1. 구조체 structure 여러 개의 기초 자료형으로 새로운 자료형을 정의할 수 있는 방법 객체지향프로그래밍의 '클래스' 개념의 모체이다. 키워드: struct 구조체 태그: sturcture tag 소괄호: { } 구조체 멤버: structure member - 고유한 이름 갖는다. 세미콜론 ; // 구조체 정의 struct plan { int days; char license[5]; double score; }; 키워드: struct 구조체 태그: plan 소괄호: { } 구조체 멤버: days, license, score 세미콜론 ; 2. 구조체 변수 앞서 구조체 정의를 했지만, 이것은 변수는 아니기 때문에 어떤 값을 넣을 수 없다. 따라서 변수를 정의해야 한다. 아래의 march 변수의 ..

C언어 49차시 포인터 연습문제2

목차 1. 포인터 이용해서 2차 방정식의 근을 구하기 매개 변수로 포인터를 사용한다. 두 개의 근을 포인터를 이용해서 반환하도록 한다. ♣결과 -1.000000, -3.000000 ♧코드 #define _CRT_SECURE_NO_WARNINGS #include #include int quardratic(double *xplus, double *xminus) { double a, b, c, d; printf("이차 방정식의 근을 구하는 문제입니다..\na, b, C 세 계수를 입력해주세요\n"); scanf("%lf%lf%lf", &a, &b, &c); d = b * b - 4.0 * a * c; *xplus = (-b + sqrt(d)) / (2.0 * a); *xminus = (-b - sqrt(d))..

C언어 48차시 포인터와 배열 연습문제 1

목차 1. 배열함수 - 각 배열의 합 구하는 함수 ♣결과 >>10 ♧코드 #define _CRT_SECURE_NO_WARNINGS #include #define SIZE 4 int get_array_sum(int values[], int); int main() { int data[] = { 1,2,3,4 }; get_array_sum(data, SIZE); return 0; } int get_array_sum(int values[], int size) { int sum = 0; for (int i = 0; i < size; i++) { sum += values[i]; } printf("%d", sum); return 0; } //olivia_codingschool 2. 1번의 배열의 합을 포인터를 이용하..

C언어 46차시 포인터 연산, call by value, call by reference

목차 1. 포인터 연산 포인터에 대해서는 +, -만 가능하다. 포인터의 증감 연산시 증감되는 값은, 포인터가 가리키는 객체의 크기이다. 포인터 타입에 따라 증감되는 값이 다르다. char 1, short 2, int 4, float 4, double 8이다. char *pc; int *pi; double *pd; 로 데이터타입이 다른 포인터가 세 개 있을 때, 이들을 증감시키면 아래와 같이 이동한다. 2. 함수가 외부로부터 데이터를 받는 방법 1) call by value 값에 의한 호출 함수가 호출될 때 복사본 parameter가 전달됨. 따라서 함수 안에서 parameter가 변경해도 원본은 변하지 않음. 버그를 막을 수 있는 좋은 방법. #define _CRT_SECURE_NO_WARNINGS #i..

C언어 43차시 함수 연습문제 3

목차 1. 3의 0거듭제곱부터 3의 10거듭제곱까지의 값을 출력 ♣결과 >>1 3 9 27 81 243 729 2187 6561 19683 59049 ♧코드 #define _CRT_SECURE_NO_WARNINGS #include #include void get_prime(int); int main(void) { get_prime(3, 10); return 0; } void get_prime(int x, int n) { int value; for (int i = 0; i >12.727922 ♧코드 #define _CRT_SECURE_NO_WARNINGS #include #include double get_distance(int,int,int,int); int main(void) { printf("%lf"..