공부 (20) 썸네일형 리스트형 C언어 - (10) : 포인터 포인터포인터 변수의 개념변수에 데이터가 저장되면 그에 맞는 메모리 주소가 할당되는데, 이러한 메모리 주소를 저장하기 위한 목적으로 선언되는 것이'포인터 변수'이다.위의 그림과 같이 어떠한 변수에 대한 정수 형태의 주소 값을 저장하는 목적으로 선언되는 것이 포인터 변수이다.포인터 변수의 사용포인터 변수는 `*`연산자를 이용하여 선언하고, `int *ptr;`와 같은 방식으로 사용할 수 있다.이렇게 되면 `ptr`은 어떠한 int타입 변수에 대한 첫번째 메모리 주소를 저장할 수 있는 '포인터 변수'가 되는 것이다.int num=7;int *pnum = #포인터 변수에 어떠한 변수의 메모리 주소를 저장하기 위해서는 `포인터 변수 = &변수`의 형태로 변수 앞에 `&`을 붙여주어야 한다. 위의 코드를 순.. C언어 - (9) : 1차원 배열 배열(Array)여러개의 값을 선언해야할 경우에 일일이 변수를 지정해 값을 대입하는 것은 번거로울 수 있기 때문에, 다수의 변수 선언을 용이하게 하기 위한 용도로 '배열'이 사용된다. 배열은 그 형태에 따라 1차원 배열, 2차원 배열 등의 형태로 선언 가능하다.1차원 배열1차원 배열을 선언하는 규칙은 다음과 같다.int arr_1d [4];// int : 배열에 들어가는 데이터의 자료형// arr_1d : 배열의 이름// [4] : 배열의 크기(길이)이렇게 생성된 배열은 index를 활용해 배열 안의 원소에 접근이 가능하다.위의 예시처럼 배열의 크기가 4인 경우에는, 0~3까지의 index로 원소에 접근 가능하다.int arr[4] = {1,2,3,4}; // 선언과 동시에 초기화위의 경우처럼 일반 변수.. C언어 - (8) : 함수/지역변수/전역변수/static변수 함수함수의 문법적인 형태는 다음과 같다.int main(void){ 실행문}/*int : 함수가 반환하는 데이터의 형태main : 함수의 이름void : 함수를 실행시키기 위해 입력되어야 하는 데이터의 형태*/ 함수 유형1 : 전달 인자(O), 반환 값(O)// add 함수int main(int num1, int num2){ int result = num1+num2; return result;}함수 유형2 : 전달 인자(O), 반환 값(X)void ShowAddResult(int num) // 전달 인자(num), 반환인자(X): return값 없음{ printf("덧셈 결과 출력: %d \n", num);}함수 유형3 : 전달 인자(X), 반환 값(O)// 전달 인자(X): void, .. C언어 - 난수 생성 난수 생성 방법// 난수 생성#include #include #include int main(void){ int value; srand((unsigned)time(NULL)); // seed를 time값으로 설정 value = rand()%100; // 난수 발생, rand() : 0~RAND_MAX 값의 정수를 임의 생성 printf("%d", value); return 0;}`stdlib.h``rand()`(난수 생성 함수)가 포함된 라이브러리https://ko.wikipedia.org/wiki/Stdlib.h stdlib.h - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. stdlib.h는 C 언어의 표준 라이브러리로, 문자열 변환, 의사 난수 생성, .. C언어 - (7) : 조건문 if 조건문if (조건절){ 실행문;}if 조건문은 위와 같은 형식을 가지며, 조건에 해당하는 경우에 실행문을 실행시킨다.#include int main(void){ int num; printf("정수 입력: "); scanf("%d", &num); if (num0) printf("입력 값은 0보다 크다. \n"); if (num==0) printf("입력 값은 0이다. \n"); return 0;} 위의 예시처럼 각각의 if문에 해당하는 조건을 명시해 코드를 작성할 수도 있지만,조건에 해당하는 경우(if)와 그렇지 않은 경우(else)로 나누에 구분해 작성할 수도 있다.// if ~ else#include int main.. C언어 TIL (241007) 1. #define코드에 사용되는 변수의 값을 미리 지정해 놓는 것Ex) `#define NUM 1`2. 대소문자 변환알파벳의 대소문자를 변환하는 방법은 두가지가 존재ASCII코드의 특성을 이용같은 알파벳의 대소문자간에는 32의 차이가 균등하게 존재함이미 구현된 함수 이용`#include `isupper / islowertoupper / tolower`#include `strupr : 대문자로 변경strlwr : 소문자로 변경 C언어 - (6) : 반복문 while 반복문#include int main(void){ int num=0; while (num위 예시와 같이 while문을 사용하는 경우에 while 옆의 조건(num(반복해서 실행하게 되는 내용을 한 문장으로 적을 수 있는 경우에는 중괄호의 생략이 가능하다.) while 문을 사용해서 무한히 실행되는 '무한 루프'도 생성이 가능한데, 이는 조건을 '1'로 설정하면 생성할 수 있다(1==True)`while (1) ...실행문...`do ~ whiledo{ // 실행문} while(condition);의 형태로 구성되는 문법이며 위의 코드로 유추할 수 있듯이, 실행문을 가장 먼저 수행하고 while 반복문에 들어가는 구조이므로일반적인 while문과 다르게 조건에 맞지 않더라도 무조건 1회.. C언어 - (5) : printf / scanf 'printf' 함수 정리Escape Character간단한 예시의 printf문을 살펴보자면,`printf("앞집 강아지가 말했다. "멍! 멍!" 정말 귀엽다");` 라는 printf문의 경우는 올바른 printf문으로 볼 수 없다.큰 따옴표가 여러개 존재하다보니, 어떤 부분을 출력해야 하는지 컴파일러가 제대로 인식할 수 없기 때문이다. 따라서, 올바르게 위의 예시를 출력하기 위해서는`printf("앞집 강아지가 말했다. \"멍! 멍!\" 정말 귀엽다");`와 같이, 그대로 출력해야하는 큰 따옴표 앞에 back slash를 붙여주어야한다. 이렇게 \(back slash)와 특정 문자를 조합해서 사용하는 경우를 escape character라고 하는데, 대표적인 종류는 다음과 같다.Escape Chara.. 이전 1 2 3 다음