컴퓨터공학 💻/C
-
포인터는 C언어가 가지고 있는 매우 강력한 특징이다. 포인터는 어떤 것을 가리키는 변수라고 할 수 있다. 포인터는 *(asterisk)를 붙여 사용할 수 있다. *는 포인터를 선언할 때, 그리고 포인터가 가리키는 주소안의 값에 접근할 때 사용된다. int a = 10; int* p; 포인터의 선언은 위와 같이 사용한다. int형 변수 a를 가리키기 위해 int형 포인터 변수 p를 선언한 것이다. 하지만 포인터 변수p는 현재 어떤 것도 가리키지 않은 상태이다. integer의 크기는 4byte / float의 크기는 4byte / char의 크기는 1byte 이다. x64 프로세서에서 한 개의 처리 단위 메모리 주소의 크기는 8byte이고 변수a는 4byte이므로 위와 같이 차지하는 것을 볼 수 있다. 포..
[ C언어 ] - 포인터포인터는 C언어가 가지고 있는 매우 강력한 특징이다. 포인터는 어떤 것을 가리키는 변수라고 할 수 있다. 포인터는 *(asterisk)를 붙여 사용할 수 있다. *는 포인터를 선언할 때, 그리고 포인터가 가리키는 주소안의 값에 접근할 때 사용된다. int a = 10; int* p; 포인터의 선언은 위와 같이 사용한다. int형 변수 a를 가리키기 위해 int형 포인터 변수 p를 선언한 것이다. 하지만 포인터 변수p는 현재 어떤 것도 가리키지 않은 상태이다. integer의 크기는 4byte / float의 크기는 4byte / char의 크기는 1byte 이다. x64 프로세서에서 한 개의 처리 단위 메모리 주소의 크기는 8byte이고 변수a는 4byte이므로 위와 같이 차지하는 것을 볼 수 있다. 포..
2020.08.21 -
함수는 반환형(return), 함수명, 매개변수(어떤 형태의 변수로 주고받을 것인가)로 구성된다. 반환형에 void를 입력하면 Return하지 않는다는 뜻이다. 반환형(return)은 함수가 종료될 때 어떤 값을 반환할 것인지를 정하는 자료형이며 매개변수(인자)는 만든 함수를 불러올 때 어떤 값을 넘겨주고 불러올 것인지를 정하는 변수이다. 예를 들어 a() 안에 Q와 W라는 문자 2개가 들어있는 함수가 있을 때 a(1)에서는 Q, a(2)에서는 W를 가져올 수 있도록 설정할 수 있는 것이다. 아무 값도 넘기지 않고 불러온다면 (), 그냥 비워두면 된다. 함수 사용 예시 return 값이 없는 함수명 Fruits의 매개변수 int형 변수를 이용해 Fruits() 함수를 불러와서 int형 (1)을 불러오면 ..
[ C언어 ] - 함수 활용함수는 반환형(return), 함수명, 매개변수(어떤 형태의 변수로 주고받을 것인가)로 구성된다. 반환형에 void를 입력하면 Return하지 않는다는 뜻이다. 반환형(return)은 함수가 종료될 때 어떤 값을 반환할 것인지를 정하는 자료형이며 매개변수(인자)는 만든 함수를 불러올 때 어떤 값을 넘겨주고 불러올 것인지를 정하는 변수이다. 예를 들어 a() 안에 Q와 W라는 문자 2개가 들어있는 함수가 있을 때 a(1)에서는 Q, a(2)에서는 W를 가져올 수 있도록 설정할 수 있는 것이다. 아무 값도 넘기지 않고 불러온다면 (), 그냥 비워두면 된다. 함수 사용 예시 return 값이 없는 함수명 Fruits의 매개변수 int형 변수를 이용해 Fruits() 함수를 불러와서 int형 (1)을 불러오면 ..
2020.08.20 -
Array는 같은 Datatype을 가진 많은 변수들을 하나의 변수로 저장할 수 있게 해주는 자료 구조이다. 일반적으로 int a[5]; 로 입력하며 대괄호 안에는 변수도 들어갈 수 있으나 컴파일러마다 허용해주는 것이 제각각이기 때문에 정수형 데이터로 사용하는 것이 좋다. sizeof() 함수를 이용해 int a[10]; 의 메모리 크기를 검사해보면 40이 출력된다. 즉 int형 데이터가 4byte이므로 그것의 10개 만큼의 데이터 공간(0번째 index 부터 9번째 index)을 배열로써 만들 수 있는것이다. 만약 20개의 데이터에 값을 순차적으로 한꺼번에 저장하려면 for 반복문을 사용해 위와 같이 설정할 수 있다. 기본 설정값으로 반복문을 이용하지 않고 array에 초기 값을 따로 입력해줘도 위와 ..
[ C언어 ] - 배열 ArrayArray는 같은 Datatype을 가진 많은 변수들을 하나의 변수로 저장할 수 있게 해주는 자료 구조이다. 일반적으로 int a[5]; 로 입력하며 대괄호 안에는 변수도 들어갈 수 있으나 컴파일러마다 허용해주는 것이 제각각이기 때문에 정수형 데이터로 사용하는 것이 좋다. sizeof() 함수를 이용해 int a[10]; 의 메모리 크기를 검사해보면 40이 출력된다. 즉 int형 데이터가 4byte이므로 그것의 10개 만큼의 데이터 공간(0번째 index 부터 9번째 index)을 배열로써 만들 수 있는것이다. 만약 20개의 데이터에 값을 순차적으로 한꺼번에 저장하려면 for 반복문을 사용해 위와 같이 설정할 수 있다. 기본 설정값으로 반복문을 이용하지 않고 array에 초기 값을 따로 입력해줘도 위와 ..
2020.08.19 -
1. break 제어 명령 break는 흔히 반복문을 제어할 때 사용된다. i를 100까지 반복하다 50에서 멈추고 싶다면 새로운 조건문으로 50을 설정하고 break를 걸면 멈추게 된다. rand() 는 랜덤 숫자를 출력할 때 쓰는 함수이다. stdlib.h 라이브러리에 속해있다. 하지만 컴파일을 몇번 시도해도 계속해서 같은 숫자들만 출력되는 것을 알 수 있다. srand() 함수를 이용, srand(time(NULL)) 을 이용하면 현재의 시간으로 랜덤 값의 seed를 초기화 하여 완전한 랜덤 숫자를 출력할 수 있다. srand() 함수는 time.h 라이브러리에 속해있다. rand() 함수에 %10+1 을 입력하여 1~10까지 랜덤한 나머지를 출력할 수 있도록 하고 나머지 5가 나왔을 때 멈추게 하..
[ C언어 ] - 흐름 제어 명령1. break 제어 명령 break는 흔히 반복문을 제어할 때 사용된다. i를 100까지 반복하다 50에서 멈추고 싶다면 새로운 조건문으로 50을 설정하고 break를 걸면 멈추게 된다. rand() 는 랜덤 숫자를 출력할 때 쓰는 함수이다. stdlib.h 라이브러리에 속해있다. 하지만 컴파일을 몇번 시도해도 계속해서 같은 숫자들만 출력되는 것을 알 수 있다. srand() 함수를 이용, srand(time(NULL)) 을 이용하면 현재의 시간으로 랜덤 값의 seed를 초기화 하여 완전한 랜덤 숫자를 출력할 수 있다. srand() 함수는 time.h 라이브러리에 속해있다. rand() 함수에 %10+1 을 입력하여 1~10까지 랜덤한 나머지를 출력할 수 있도록 하고 나머지 5가 나왔을 때 멈추게 하..
2020.08.18 -
반복문에는 대표적으로 for, while, do while 문이 있다. 상황에 맞게 더 편리한 반복문들이 구별되어 있다. 1. for 반복문 for(i = 0; i < 10; i++) 일반적으로 위와 같이 설정되고 연산자 부분에는 어떤 연산 형식이 와도 상관 없음. 동일 : for(i = 0; i < 10; i = i + 1) 언제 끝나는지 명확히 알 때 쓰는 것이 자연스러운 반복문임. 2. while 반복문 i = 0; while(i < 10) { printf("반복할 내용", i); i++ } 일반적으로 위와 같이 설정되고 언제 끝나는 지 알려주는 횟수보다는 숫자가 아니라 특정 종결되는 상황이 있을 때 쓰는 것이 좋은 반복문임. C언어에서는 0이 아닌이상 모든 수를 진실로 판단함. 즉 위 while ..
[ C언어 ] - 반복문반복문에는 대표적으로 for, while, do while 문이 있다. 상황에 맞게 더 편리한 반복문들이 구별되어 있다. 1. for 반복문 for(i = 0; i < 10; i++) 일반적으로 위와 같이 설정되고 연산자 부분에는 어떤 연산 형식이 와도 상관 없음. 동일 : for(i = 0; i < 10; i = i + 1) 언제 끝나는지 명확히 알 때 쓰는 것이 자연스러운 반복문임. 2. while 반복문 i = 0; while(i < 10) { printf("반복할 내용", i); i++ } 일반적으로 위와 같이 설정되고 언제 끝나는 지 알려주는 횟수보다는 숫자가 아니라 특정 종결되는 상황이 있을 때 쓰는 것이 좋은 반복문임. C언어에서는 0이 아닌이상 모든 수를 진실로 판단함. 즉 위 while ..
2020.08.17 -
1. arithmatic operation 기본적으로 +, -, *, / 가 있으며 모듈러 연산자 %의 경우 나머지만을 출력한다. 5를 2로 나누면 1, 42를 4로 나누면 2가 나오므로 각각 1,2 가 출력된다. 2. relational operation ==는 x==y가 있을 때 x와 y가 같은지를 물어보는 연산자이며 x!=y는 x와 y가 다른가를 물어본다. 참이면 1, 거짓이면 0을 출력한다. 3. bit-wise operation &, or, ^, ~, 연산자가 존재한다. 4. logical operation &&, ||, ! 연산자가 존재한다. 각각 and, or, not이다. &&는 모든 항이 true여야만 true를 출력, ||는 하나의 항만 true여도 true를 출력, !는 결과를 항상 ..
[ C언어 ] - 연산자의 종류1. arithmatic operation 기본적으로 +, -, *, / 가 있으며 모듈러 연산자 %의 경우 나머지만을 출력한다. 5를 2로 나누면 1, 42를 4로 나누면 2가 나오므로 각각 1,2 가 출력된다. 2. relational operation ==는 x==y가 있을 때 x와 y가 같은지를 물어보는 연산자이며 x!=y는 x와 y가 다른가를 물어본다. 참이면 1, 거짓이면 0을 출력한다. 3. bit-wise operation &, or, ^, ~, 연산자가 존재한다. 4. logical operation &&, ||, ! 연산자가 존재한다. 각각 and, or, not이다. &&는 모든 항이 true여야만 true를 출력, ||는 하나의 항만 true여도 true를 출력, !는 결과를 항상 ..
2020.08.17