프로그래밍 언어/C언어 37

매개변수(Parameter,파라미터),전달인자(Argument,아규먼트)란?

매개변수(parameter,파라미터),전달인자(Argument,아규먼트)란? 안녕하세요. 매개변수와 전달인자에 대해 알아보겠습니다. 이 둘은 같은 의미로 쓰이는 경우가 많지만, 명백히 다른 용어입니다.이 둘의 가장 큰 차이는 값과 형식의 차이입니다. 매개변수(Paramaeter,파라미터)1234int sum(int a, int b){ return a+b;}cs1번 줄의 (int a, int b)는 실제 값이 존재하지 않고 형태를 나타내 줄 뿐 입니다.이때 (int a, int b)를 매개변수라고 부릅니다. 전달인자(Argument, 아규먼트)1sum(10,20);cs위의 sum함수를 호출하였을때 (10,20)이 변수를 전달인자라고 부릅니다.이때 전달인자에는 값이 존재하는것을 볼 수 있습니다.

C언어 구조체 자료형의 크기(패딩비트)

안녕하세요. 이번에는 구조체 자료형의 크기에 대해 알아보겠습니다.기본적으로 자료형의 크기를 알아보는 함수는 sizeof(자료형)입니다. 123456typedef struct{ int HP; int MP; char class;}user;cs int는 4바이트, char은 1바이트그러므로 user구조체의 크기는 9바이트라고 예상이 됩니다. 12345678910111213141516171819#include typedef struct{ int HP; int MP; char class;}user; int main(){ user user1; printf("user1.HP의 크기 : %d \n", sizeof(user1.HP)); printf("user1.MP의 크기 : %d \n", sizeof(user1.MP)..

C언어 구조체 사용하기.

안녕하세요. 이번에는 구조체를 사용해보겠습니다.구조체란 여러 가지 데이터를 쉽게 저장하기 위해서 사용하는 것입니다. 선언방법 strcut 변수명{멤버 목록}; 예) 123456struct user{ int HP; int MP; char job;};csuser라는 변수를통해서 3가지 데이터에 접근 할 수 있습니다. 123456789101112131415161718192021#include int main(){ struct user { int HP; int MP; char class; }; struct user user1; user1.HP = 100; user1.MP = 50; user1.class = 'a'; printf("user1의 HP : %d \n",user1.HP); printf("user1의 M..

비트연산 사용법(BIT연산)

안녕하세요. 이번에는 BIT연산에 대해 알아보겠습니다. 이 비트연산은 C언어뿐만 아니라 자바,C#등 다양한 언어에서 사용할 수 있는 기능입니다.특히 MCU를 사용할때 많이 사용하게 됩니다.(아트메가,아두이노 등)왜냐하면 MCU들은 레지스터로 제어를 하게되는데 레지스터들은 비트로 되어있습니다. 비트연산 & (AND연산)| (OR연산) ^ (XOR연산)~ (NOT연산)> (오른쪽 쉬프트연산)이렇게 비트연산에는 6가지가 있습니다. &(AND연산)진리표입력1 입력2 출력 0 0 0 0 1 0 1 0 0 1 1 1 입력이 모두 1일때만 출력이 1이 됩니다. 5~8번째줄은 실제로 &연산을해서 값을 출력해본것이고 10~15번째줄은 실제로 if문에 사용한 것입니다. a&b를하면 1이므로 True가 됩니다. |(OR연산..

C언어 include 사용법

include에 대해 알아볼건데요. 일단 전처리기란것을 알아야합니다전처리기란? 컴파일 되기전에 미리 처리하는 문장입니다. 일반적으로 #include와 #define을 가장많이 사용합니다. #include는 파일처리를 위한 전처리문이고 #define은 형태 정의를위한 전처리기문입니다. 이외에도 전처리문들이 여러가지있는데 왜 알아야할까요? 코드의 중복을 막기위해서 겠죠 #include헤더파일을 포함시켜놓는겁니다. 헤더파일이란 .h확장자를 가진 파일을 말하는데요. 헤더파일을 만들어서 include하는 이유는 자주쓰는 함수들을 저장해놓고 사용하기 위함입니다. 예를들어 #include는 stdio.h란 헤더파일을 포함시키는겁니다. #include과 #include"헤더파일" 이런 두가지형식이 있는데요.#inclu..

C언어 값을 절대값 취하기(stdlib.h , math.h)

번호변수 타입함수헤더파일1 intabs()stdlib.h 2longlabs()stdlib.h 3doublefabs()math.h 4floatfabsf()math.h 5long doublefabsl()math.h 1) int abs(int i) - int형 변수를 절대값 취하기 2) long labs(long l) - long형 변수를 절대값 취하기 3) double fabs(double d) - double형 변수를 절대값 취하기 4) float fabsf(float f) - float형 변수를 절대값 취하기 5) long double fabsl(long double ld) - long double형 변수를 절대값 취하기

C언어 문자열을 처리하는 함수들(String.h)

지금 작성하는 함수들은 string.h헤더파일을 include 시켜줘야 한다. ( #include ) 1.현재 문자열 길이구하기size_t strlen(const char *str) : 현재 문자열(str)의 길이를 구한다. 리턴값은 역시 문자열의 길이이다. 2.문자열 복사하기char *strcpy(char *dest, const char *src) : dest는복사당할 변수이고 src는 복사할 변수이다. 리턴값은 복사된 값이다. 3.문자열 비교하기int strcmp(const char *string1 , const char *string2) : string1과 string2를 비교해서 같으면0, string1이 string2보다 사전적으로 앞에있으면 -1 사전적으로 뒤에있으면 +1리턴값은 비교한결과. ..