NETWORK & SEVER FACTORY

개인 공부 기록

Study 192

포인터

포인터 포인터란? : 번지값을 가지는 변수이다. Type *P; 여기서 *은 포인터 변수를 선언하는 구두점이다. 포인터는 메모리에 일정한 공간을 확보해두고 원하는 값을 저장하거나 가져오는 방법이다. 포인터 변수를 선언할 떄는 뒤에 *를 붙인다. *의 위치에 따른 차이는 없으며 모두 같은 뜻이다 int* njmptr; int * numptr; int *numptr; 포인터 변수를 선언했으면 &로 변수의 주소를 구해서 포인터 변수에 저장한다. numptr = &num1;; printf로 포인터 numptr의 값을 출력해보면 변수 num1의 메모리 주소가 나온다. 즉 포인터와 메모리의 주소는 같은 의미이다. 포인터 변수를 선언할 때 자료향을 알려주고 *를 붙여야한다. 변수가 int형이면 주소를 저장하는 포인터..

[codeup] 1033번 [기초-입출력] 10진 정수 한 개 입력받아 16진수로 출력하기2

문제 설명 10진수를 입력받아 16진수(hexadecimal)로 출력하는 프로그램을 작성해보자.입력10진수 한 개가 입력된다.출력입력 받은 10진수를 16진수로 바꾸어 출력한다.%d(10진수 형태)로 입력 받고 %X로 출력하면 16진수(hexadecimal) 형태로 대문자로 출력된다. 12345678#includeint main(){ int a; scanf("%d", &a); printf("%X", a); return 0;}cs

Study/code up 2018.04.09

[codeup] 1032번 [기초-입출력] 10진 정수 한 개 입력받아 16진수로 출력하기1

문제 설명 10진수를 입력받아 16진수(hexadecimal)로 출력하는 프로그램을 작성해보자.입력10진수 1개가 입력된다.출력입력 받은 10진수를 16진수로 바꾸어 출력한다.%d(10진수 형태)로 입력 받고 %x로 출력하면 16진수(hexadecimal) 형태로 소문자로 출력된다. 10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9) 문자 중 한 개를 사용한다. 16진법은 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f) 문자 중 한 개를 사용한다. 16진법의 a는 10진법의 10, b는 11, c는 12 ... 와 같다. 12345678#includeint main(){ int a; scanf("%d", &a); printf("%x", a); return 0;}cs

Study/code up 2018.04.09

[codeup] 1031번 [기초-입출력] 10진수 한 개 입력받아 8진수로 출력하기

문제 설명 10진수를 입력받아 8진수로 출력하는 프로그램을 작성해보자.입력10진수가 1개 입력된다. (단, 입력되는 정수는 int 범위이다.)출력입력 받은 10진수를 8진수로 바뀌어 출력한다.%d(10진수 형태)로 입력받고, %o 를 사용하여 출력하면 8진수(octal)로 출력할 수 있다. 12345678#includeint main(){ int a; scanf("%d", &a); printf("%o", a); return 0;}cs

Study/code up 2018.04.06

[codeup] 1030번 [기초-입출력] 정수 한 개 입력받아 그대로 출력하기3

문제 설명 정수 한 개를 입력받아 그대로 출력해보자. (단, 입력되는 정수의 범위는 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 이다.)입력정수 한 개가 입력된다. (단, 입력되는 정수의 범위는 –9223372036854775808 ~ 9223372036854775807 이다.)출력입력된 정수가 그대로 출력된다.-2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는 int 데이터형을 사용해 변수를 선언하면된다. (int 로 선언하고 %d나 %i 로 입력 받거나 출력하면 된다.) 하지만 이 범위를 넘어가는 정수를 저장하기 위해서는 보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다. lo..

Study/code up 2018.04.06

[codeup] 1029번 [기초-입출력] 실수 한 개 입력받아 그대로 출력하기2

문제 설명 실수 한 개를 입력받아 그대로 출력해보자. (단, 입력되는 실수의 범위는 +- 1.7*10^-308 ~ 1.7*10^308 이다.)입력소수점 이하 자리수가 11개 이하인 실수 한 개가 입력된다. (단, 입력되는 실수의 범위는 +- 1.7*10^-308 ~ 1.7*10^308 이다.)출력입력된 실수를 소수점 이하 11번째 자리까지 출력한다.float 데이터형을 사용하면 3.4*10^-38 ~ 3.4*10^38 범위의 실수를 저장할 수 있다. (float 로 선언하고 %f로 입력 받거나 출력하면 된다.) 하지만 이 범위를 넘는(더 작거나 더 큰) 실수를 저장하기 위해서는 보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다. 쉽게 생각하면, float 를 사용하는 ..

Study/code up 2018.04.06

[codeup] 1028번 [기초-입출력] 정수 한 개 입력받아 그대로 출력하기2

문제 설명 정수 한 개를 입력받아 그대로 출력해보자. (단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.)입력정수 한 개가 입력된다. (단, 입력되는 정수의 범위는 0 ~ 4294967295 이다.)출력입력된 정수가 그대로 출력된다.-2147483648 ~ +2147483647 범위의 정수를 저장하고 처리하기 위해서는 int 데이터형을 사용해 변수를 선언하면된다. (int 로 선언하고 %d나 %i 로 입력 받거나 출력하면 된다.) 하지만 이 범위를 넘어가는 정수를 저장하기 위해서는 보다 큰 범위를 저장할 수 있는 다른 데이터형을 사용해야 정상적으로 저장시킬 수 있다. unsigned int 데이터형을 사용하면 0 ~ 4294967295 범위의 정수를 저장할 수 있다. [예시] unsig..

Study/code up 2018.04.06

[codeup] 1027번 [기초-입출력] 년월일 입력받아 형태 바꿔 출력하기

문제 설명 년월일을 출력하는 방법은 나라마다, 형식마다 조금씩 다르다. 날짜를 년월일(yyyy.mm.dd)의 형태로 입력받아, 일월년(dd-mm-yyyy)의 형태로 출력하는 프로그램을 작성해보자. (단, 한 자리 일/월은 0을 붙여 두 자리로, 년도는 0을 붙여 네 자리로 출력한다.)입력년월일이 '.'(닷)으로 구분되어 입력된다.출력년월일을 일월년으로 바꾸어 '-'(대쉬, 마이너스)로 구분해 출력한다.출력하는 자리수를 지정하기 위해 %4d와 같은 형식을 사용할 수 있는데, 빈칸을 0으로 출력하기 위해서는 %04d와 같은 형식을 사용하면 된다. [예시] printf("%02d-%02d-%04d", d, m, y); #include 12345678#include int main() { int a, b, c;..

Study/code up 2018.04.06

[codeup] 1026번 [기초-입출력] 시분초 입력받아 분 만 출력하기

문제 설명 시간을 시:분:초 형태로 입력 받아분 만 출력하는 프로그램을 작성해보자.입력시간이 [시:분:초]의 형태로 입력된다.출력분 만 출력한다. (단, 10보다 작은 경우 불필요한 0은 출력하지 않는다.)int h, m, s; scanf("%d:%d:%d", &h, &m, &s); 12345678#include int main() { int a, b, c; scanf("%d:%d:%d", &a, &b, &c); printf("%d", b);} Colored by Color Scriptercs

Study/code up 2018.04.06