프로그래밍 언어/C 81

백준 15552번 해설

https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net #include int main(void) { int T; //테스트 케이스 개수 int a, b; //입력값 a , b scanf("%d", &T); for (int i = 0; i < T; i++) { scanf("%d %d", &a, &b); //a,b 에 입력값 받기 printf("%d\n", a+b); // a + b 값 도출하기 //한바퀴돌고 입력을 계속 반복 } return 0; } 문제 포인트 : (..

visual studio 에서 C언어 개발 환경 구축하는 법

visual studio를 까는 것 자체는 간단하니 생략하겠습니다. 1) 새 프로젝트 만들기 클릭 2) 빈프로젝트 클릭 c언어를 공부하려고 하는데 왜 c++인가요?라고 생각하실 수 있습니다. c++ 이 default 고 거기서 확장자를 c로 저장한다고 생각하시면 됩니다. 3) 프로젝트 이름을 원하는 걸로 해주시고 만들기(C) 버튼 클릭 4) 소스파일 폴더 안에 새 항목 생성하기 5) 새항목 추가 여기서 이름에 확장자를 cpp -> c로 바꿔줘야 합니다. 6) hello world 해보기 7) c언어 개발환경 설정 완료 다들 열심히 공부하시길~~

C언어 34강) void 포인터 개념 및 void 포인터 반환

void 포인터 개념 int *numPtr ; 등은 자료형이 정해진 포인터이다. 자료형이 정해지지 않은 포인터도 있는데 이를 void 포인터라 부른다. ●void포인터 코드 예제 #include int main() { int num = 6; int *numPtr = &num; //numPtr에 num 주소 저장 void *ptr; // void 포인터 선언 // 포인터 자료형이 달라도 컴파일 경고 X ptr = numPtr; // void 포인터에 int 포인터 저장 printf("%d", *ptr); //역참조 X return 0; } // 포인터 자료형이 달라도 컴파일 경고 X ptr = numPtr; // void 포인터에 int 포인터 저장 ▲void 포인터는 자료형이 정해지지 않았기에 어떤 자료..

C언어 33강)+ 함수에서 문자열 포인터 반환

문자열 포인터 기본 C언어 18강)++ 포인터와 문자열/ 문자열 포인터에서 인덱스로 접근하기 C언어에는 문자열을 직접 선언하는 방법이 없다. 따라서 배열이나 포인터를 사용해 문자열을 처리한다. 배열을 사용해 문자열을 처리하는 방법은 abcdefgh123123.tistory.com/31?category=939526 C언어 10강 abcdefgh123123.tistory.com 함수에서 문자열 포인터를 반환하는 방법에는 두 가지가 있다. 기본적인 선언 방법과 malloc 함수를 활용하는 방법이다. ▼ 차례대로 예시를 통해 이해해보자 ●기본적인 선언 코드예제 #define _CRT_SECURE_NO_WARNINGS #include char *Hello() //char 포인터를 반호나하는 Hello() 함수정의..

C언어 18강)+ 포인터 변수 선언

포인터 변수는 메모리 주소를 저장하는 변수이다. (포인터 변수는 포인터로 줄여서 부르기도 하니 헷갈리지말자) ●문법 자료형 *포인터이름; 포인터 = &변수; ●포인터선언 코드 예제 #include int main() { int *numPtr; // 포인터 변수 선언 int num = 5; // int 형 변수 num에 5 값 저장 numPtr = &num; // num1의 메모리 주소를 포인터 변수에 저장 printf("%p\n", numPtr); //0061FF18:변수 5의 주소가 저장된 numPtr 출력 printf("%p\n", &num); //0061FF18: num의 주소 자체를 출력 return 0; } ▲위에서 보듯, 포인터 변수를 선언할 때 자료형 뒤에 *를 반드시 붙여주어야한다. 참고로..

C언어 33강) 함수에서 포인터 반환하기

함수 return 값으로 지금까지 1 , 3.3 등의 값을 가져왔다. 그렇다면 포인터(메모리 주소)를 return 하려면 어떻게 해야 할까? ●포인터 반환 함수 문법 반환값자료형 *함수이름() { return 반환값; } 코드 예시를 보자 ●포인터 반환 함수 코드 예제 #include int *five() // int 포인터를 반환하는 five 함수 정의 { int num = 5; // num은 함수 five 함수가 끝나면 사라짐 return &num; // 함수에서 지역 변수의 주소를 반환하는 것은 잘못된 방법 } int main() { int *numPtr; //포인터 변수 선언 numPtr = five(); // 함수를 호출하고 반환값을 numPtr에 저장 printf("%d\n", *numPtr)..

C언어 32강)+ 열거형(enum) switch문에 활용하기

열거형(enum)은 초기값을 설정해주면 자동으로 밑에 있는 멤버에 +1씩 해서 값을 넣어준다. 숫자의 값을 넣는다는 점에 착안하여 switch문에 활용할 수 있다. ●열거형을 switch문에 활용했을 때의 장점 -가독성이 좋아진다. 구체적으로 이해가 잘 안 될 것이다. 문법과 코드 예제를 보며 천천히 이해해보자. ●문법 switch (선언된 열거형 변수) { case 열거형 멤버: 실행할코드; break; } ●switch문에 열거형 활용 코드예제 #include #define _CRT_SECURE_NO_WARNINGS enum Num{ dog =1, cat, rabbit } animal; int main() { animal = dog; //열거형 값 할당 switch(animal) { case dog:..

C언어 32강) 열거형 (enum)

코딩의 기본 중 하나는 반복을 최대한 줄이는 것이다. 당신은 정수형 상수를 여러 개 선언할 때 어떻게 하는가? int a = 1; int b = 2; int c = 3; int d = 4; ▲이런 식으로 계속 연속된 정수를 선언하려면 너무 귀찮다. 이럴 때 사용할 수 있는 것이 바로 열거형(enum)이다. 처음에만 할당해주면 그 아래부터는 쭉 값이 1씩 증가하면서 자동으로 할당된다. 열거형 ●문법 enum 열거형이름 { 멤버1 = 초깃값, 멤버2 멤버3 }; int main() { enum 열거형이름 변수이름선언 return 0; } ●열거형 코드예제 #include enum Num{ a =1, b, c }; int main() { enum Num num1 ; //열거형 변수 선언 num1 = b; //..

C언어 31강) 함수에 포인터 매개변수 활용하기 (함수 return 값 여러개 반환하는 방법)

abcdefgh123123.tistory.com/38 C언어 12강 사용자 정의 함수 함수(function) ●정의:프로그램에서 특정한 작업을 수행하도록 따로 정의해 놓은 독립적인 프로그램의 단위 ●목적: 1) 특정 작업을 함수로 처리하여, 반복을 줄이기 위해서 2) 구조적 프로그램으 abcdefgh123123.tistory.com ▲return으로 반환되는 함수의 값은 오직 하나이다. 그렇다면 여러 개의 값을 반환하려면 어떻게 해야 할까? return 값은 하나이다. 또 그 값은 함수 내에서만 사용가능하다. 하지만 포인터를 사용해 주소를 역참 조해서 값을 아예 바꿔버린다면?? 함수 밖에서도 바뀐 여러 개의 값들을 사용할 수 있지 않을까?? 먼저 매개변수에서 일반적인 변수를 사용하는 코드예제를 보자. 참..

728x90