C언어 61

C언어 47차시 배열과 포인터, cpu, hdd, ssd, memory

목차 1.포인터 복습 int *a; a의 값에 대한 포인터를 설정한다. *a=10; a의 값은 10이다. printf("%d", a); a를 출력하면 a가 저장되어 있는 위치 주소가 나오고 printf("%d", a*); a*를 출력하면 a의 값이 나온다. =10 2. 배열과 포인터 배열의 이름을 정수 형식으로 출력하면, 배열의 첫 번째 요소의 주소와 같다 곧 배열 이름 그 자체가 포인터이다. 다시 말해, 포인터를 배열처럼 사용할 수 있다. 포인터를 이용하여 각 원소에 접근할 수도 있다. #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { int a[] = { 1,2,3,4 }; int * p; p = a; printf("a[0]=%d,..

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언어 45차시 포인터, 메모리, 변수, 포인터 연산자 &, *, %p, 간접참조연산자

목차 1. 메모리 메모리는 바이트로 구성되고, 각 바이트마다 고유한 주소를 가진다. 2. 변수 변수부터 살펴보자. 변수는 만들어지면 컴파일러에 의해 메모리 공간에 배치된다. 즉, 변수는 컴퓨터 메모리에 만들어진다. 변수의 자료형에 따라 차지하는 메모리 공간이 달라진다. int, float 4 byte char 1 byte short 2 byte double 8 byte 3. 변수의 주소 계산하는 연산자 & 변수의 주소를 계산하는 연산자 &를 쓰면 된다. scanf 함수를 썼을 때, 입력하는 것을 변수의 주소에 담았던 것을 기억할 것이다. scanf("%d", &x); 4. 변수의 주소를 출력할 때는 형식 지정자 %p &은 변수의 이름을 받아서, 그 변수에 주소를 저장한다. 해당 주소를 출력하고 싶다면, ..

C언어 44차시 함수 연습문제 4

목차 1. 계산기 프로그램 작성하기, 연산별 count도 함께 출력하기 ♣결과 ♧코드 local variable, if-else if-else 구문 사용 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include int add(int, int); int subtract(int, int); int multiple(int, int); int division(int, int); int main(void) { int x, y; char operator; int add_count, subtract_count, multiple_count, division_count; add_count = subtract_count = multiple_count = di..

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"..