Algorithm (56) 썸네일형 리스트형 [C언어] 포인터 개념 (3): (역)참조 연산자 * 사용하기 * 출처: 코딩도장 34.2 역참조 연산자 사용하기 * 출처: 최유경 교수님 C 프로그래밍 포인터 수업자료 저번 게시글에서 포인터 변수에는 메모리 주소가 저장되어 있다는 것을 알았다. 메모리 주소가 있는 곳으로 이동해서 값을 가져오고 싶을 때 역참조(dereference) 연산자 *를 사용한다. ■ 포인터 참조 - 포인터 변수가 가리키는 변수에 접근하는 것 - 참조 연산자 * (간접연산자, 포인터 연산자라고 부름) 사용 ex) *pch: 포인터 pch가 가리키는 변수, 0x3C 번지에 저장된 값. *는 포인터 앞에 붙인다. 포인터 변수 앞에 *을 붙이면 그 포인터 변수에 저장된 메모리 주소로 가서 값을 가져온다. 즉, 포인터는 변수의 주소만 가리키며 역참조는 주소에 접근하여 값을 가져온다. *의 사용은 .. [C언어] 포인터 개념 (2): 포인터 자료형 이해하기 + 포인터 변수 선언하기 * 출처: 코딩도장 34.1 포인터 변수 선언하기 * 출처: 최유경 교수님 C 프로그래밍 포인터 수업자료 저번 게시글에서 변수의 메모리 주소를 구하는 방법을 알아보았다.(변수 앞에 &를 붙인다.) ※ 메모리 주소 값이 포인터 변수에 저장되면, 그 포인터 변수 자체가 공간을 나타낸다. 포인터로 저장되면 공간을 가리키는 효과가 나타난다고 이해하자. 그렇다면 그 메모리 주소는 어디에 저장하는 것일까? 바로 포인터 변수에 저장한다. 포인터 변수는 *를 사용하여 선언하며 포인터 변수를 포인터로 줄여서 부르기도 한다. ■ 포인터 (자료형) - 주소를 나타내는 특수 자료형 - 주소는 기본적으로 양의 정수로 표현되지만, int형과 다르다. - 자료형 *포인터변수이름; - 포인터=& 변수; 포인터 변수를 선언할 때는 자.. [C언어] 포인터 개념 (1): 메모리란? + 포인터 사용하기 * 출처: 코딩도장 34.0 포인터 사용하기 * 출처: 최유경 교수님 C 프로그래밍 포인터 수업자료 ■ 메모리 - 프로그램이 실행되기 위해 필요한 정보를 저장하는 공간 - 1 byte (=8bits) 단위로 물리 주소가 부여 되어 있다. - 메모리는 일렬로 연속되어 있는, 크기가 1 byte인 방들의 모음이라고 볼 수 있다. - 일반적으로 주소의 길이는 4 bytes. 주소는 16진수로 표현. ■ 변수와 메모리의 관계 - 변수는 선언될 때, 메모리에 그 변수를 위한 공간이 할당된다. ■ C 언어에서 변수의 두 가지 의미 1. 그 변수에 할당된 공간(주소는 x): - 선언할 때 - 대입문의 왼쪽 변수(I-value)로 사용될 때 2. 그 변수에 저장된 값: - 대입문의 오른쪽 변수(r-value)로 사용될.. [C언어] 입력 값을 변수에 저장하기 (1): 문자 + 버퍼는 무엇인가? 정수와 실수를 입력 받는 것은 충분히 해봤으므로 생략한다. º 문자 입력받기 * 출처: 코딩도장 1. scanf 함수 사용하기 char로 변수를 선언한다. scanf에 서식 지정자 %c로 문자 입력 받고 문자형 변수에 저장한다. ※ %c는 문자 한 개만 입력받을 수 있다. 여러 문자를 입력하면 첫 번째 문자 빼고 모두 무시된다. 2. getchar 함수 사용하기 getchar 함수는 표준 입력에서 문자 하나를 입력받은 뒤 결과를 반환한다.(여러 개의 문자 입력 받아도 첫 번째 문자만 반환된다.) 입력버퍼를 사용하기 때문에 엔터가 들어올 때까지 입력을 계속 담아두다가 엔터가 들어오는 순간 입력을 중지하고 지금까지 입력된 내용에서 첫 글자를 리턴한다. ※ 대응하는 함수로 putchar가 있다. 문자 하나를 .. [C언어] while문의 조건문에 함수를 입력할 수 있다. while문의 조건문에 함수를 사용하는 것은 생소할 수 있다. while문이 돌 때 가장 먼저 조건문에 쓴 함수가 실행된다. ▷ 예제 1 ▷ 예제 2 [C언어] 백준 1008번: A/B https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net º 문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10^(-9) 이하이면 정답이다. 방법 1로 이동하기 º 방법 1: 나의 알고리즘/접근 자료형 double º 방법 1: 나의 코드 º 방법 2 º 주의할 점 1. 실수 자료형의 사용 float형의 경우 소수 부분 6자리까지 표시된다. double형의 경우 소수 부분 15자리까지 표시된다. long double형의 경우 소수 부분 15자리까지 표시된다. (.. [C언어] 백준 10998번: A*B https://www.acmicpc.net/problem/10998 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net º 문제 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. 방법 1로 이동하기 º 방법 1: 나의 알고리즘/접근 scanf() 이용 º 방법 1: 나의 코드 º 정리 scanf() 사용 시 &을 사용하여 주소를 부여해주는 것에 유의한다. [C언어] 백준 1001번: A-B https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net º 문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 방법 1로 이동하기 º 방법 1: 나의 알고리즘/접근 scanf() 이용 º 방법 1: 나의 코드 º 정리 scanf() 사용 시 &을 사용하여 주소를 부여해주는 것에 유의한다. 이전 1 ··· 3 4 5 6 7 다음