function
라이브러리에 짜여져 있는 함수 불러오기.
#incluce <함수명> -- 이런식으로 불러온다.
#include
#include
각종함수 사용하기. (루트)
{.cpp}
//sqrt
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double c = 4;
double d = sqrt(c);
cout << d;
return 0;
}
//abs(절댓값을 구하는 함수이다.)
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int a = -16;
int b;
b = abs(a);
cout << b;
}.
void의 역할
값을 리턴하여 준다.
랜덤으로 숫자만들기
기본적으로 cmath를 import 한후에 rand()를 사용함.
하지만 이렇게 호출하면 rand의 일정 sequence가 출력된다.
이는 프로그램을 종료했다 시작할 때 random값이 다시 rewind 된다.
따라서 sequence를 일정하지 않게 하려면 srand(unsigned int형 값만 받는다.)를 한후에 time값을 준다.
예제는 밑에서 보이도록 하겠다.
함수만들기
함수는 declaration/definition/call로 나뉜다.
함수를 선언하는 것을 declaration이라 한다.
type 이름 (매개변수) 꼴이다.
함수의 head part만 적고 ;를 누르면 선언이 된다.
정의 definition
{} ---> body를 적으면 definition이다.
definition 은 1회만 정의된다.
그러나 선언은 다수 정의될 수 없다.
-정의의 예제.(만약 함수를 call한후 뒤에서 선언 및 초기화시 사용 불가능.
-but 선언을 하고 함수를 사용하고 뒤에서 정의하는 것은 사용가능. 이는 이중 함수문 사용 불가능하다.
-함수의 선언
반환자료형 함수명(변수)
에서 반환자료형을 void로 받으면 return 하지 않는다.
-c는 함수를 실행시킬 때 main함수부터 실행시킨다.
{.cpp}
#include "stdafx.h"
#include <iostream>
using namespace std;
void sum(int a, int b)
{
int c = a + b;
cout << c<<endl;
}
int mul(int a, int b)
{
int cc = a*b;
return cc;
}
int main()
{
int a, b,c;
a = 10;
b = 40;
sum(10, 20);
cout << a;
c=mul(a, b);
cout << c;
}
함수에대한더 깊은 고찰
.cpp 파일가 .h 파일이 있다.
.h 는 보통 함수를 정의하고 클래스를 정의하기 위하여 사용한다.
.cpp에서 만든 함수를 다른 .cpp내에서 사용하고 싶다면
이런 소스파일내에 같이 있는 상태로
sum.cpp에서 함수를 만들어주면
{.cpp}
int sum(int a, int b)
{
int c;
c = a + b;
return c;
}
consoleapplication에서 선언한번 해주면된다.
// ConsoleApplication14.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int sum(int a, int b);
int a = 10;
int b = 20;
int c;
c = sum(a, b);
cout << c;
return 0;
}
하지만 일일이 이렇게 하기는 상당히 불편하다
#.h파일에 다음과같이 작성후
int sum(int a, int b);
#import 한번이면끝!
#include "stdafx.h"
#include <iostream>
#include "head.h"
using namespace std;
int main()
{
int a = 10;
int b = 20;
int c;
c = sum(a, b);
cout << c;
return 0;
}.
'언어 > CPP(cpp)' 카테고리의 다른 글
overloading(오버로딩),default (0) | 2017.12.25 |
---|---|
가위바위보랜덤게임코드작성 (0) | 2017.12.25 |
switch_loop_case_if_ternary_inline_comma (0) | 2017.12.24 |
상수_shorthand++_console_출력포메팅_커맨트 (0) | 2017.12.24 |
입문_변수설정_datatype_assingdata_shortandnotation_compatibility_literal_escapesequence (0) | 2017.12.24 |