본문 바로가기
300x250

개발&코딩/C10

C언어 문자열 함수를 이용한 심화예제 풀어보기 C언어의 문자열을 다루는 함수에 대한 심화 내용을 예제로 풀어보겠습니다. 1. 배열에 담긴 문자의 크기 반환하기 - sizeof(), strlen() #include int main() { char str[20]="Hello world!"; int count=0; int size=0; while(str[count] !='\0'){ count++; size++; } printf("str 문자열에 담긴 문자열의 크기는 %d입니다.", size); return 0; } >>> str 문자열에 담긴 문자열의 크기는 12입니다. C에서 문자열의 크기와 길이를 구하는 함수들은 sizeof()나 strlen()등이 있지만 함수를 이용하지 않고 직접 문자의 크기를 카운트해보겠습니다. 반복문을 사용해 size를 증가시켜.. 2020. 9. 10.
C언어 배열과 포인터 심화내용 알아보기 C언어에서의 배열과 포인터는 서로 밀접한 관계의 개념이며 범용성이 커 아주 잘 쓰이는 기능입니다. 그러므로 초심자가 새로 배우는 입장에서는 어려울 수도 있습니다. ​ ​ 1.배열과 포인터 - 포인터로 배열 사용하기 #include int main() { int score[5]={1,2,3,4,5}; int *ap; ap=score; for(int i=0; i>> 1 2 3 4 5 1 6487536 score 배열의 크기는 5이며 int형 배열이므로 5개의 int형 변수가 들어갈 수 있습니다. 또한 포인터 변수 ap는 배열 score를 참조합니다. 여기서 참조란 배열의 시작 주소를 가리키는 것을 의미합니다. 2. C언어 포인터 배열 예제1 - 배열의 평균값 #include int main() { doubl.. 2020. 9. 10.
[C] 포인터와 메모리 기초 &,* Pointer는 C언어가 가진 대표적인 기능 중 하나이다 포인터 말 그대로 가리킨다 라는 의미를 충실히 수행하는 기능으로써 말 그대로 변수와 변수의 주소를 가리키는 의미를 가진다 scanf()에서 변수를 입력받을 때에 &연산자를 사용하는 이유도 여기서 알 수 있다. ​ ​ ​ C언어 - 포인터란? 그리고 메모리의 구조 #include int main() { char ch; int in; double db; printf("%u\n", &ch); printf("%u\n", &in); printf("%u\n", &db); return 0; } >>> 6487579, 6487575, 6487567 우리가 변수를 생성하면 그 변수는 메모리상의 한 부분에 할당이 된다 그 할당된 부분을 가리키는 것이 포인터 위치한 .. 2020. 9. 10.
배열 예제로 배우는 C언어 기초 strlen(), sizeof() 배열(array) 변수들의 집합이며 여러 값을 한 변수의 첫 번째 주소(0번째)를 사용해 메모리에 기억시켜 사용합니다. 배열은 복잡 다양한 정보의 양을 다뤄야 하는 면에서 좋은 기능을 보여줍니다. C언어 - 배열이란? #include int main() { int a, b, c, d, e; printf("다섯개의 정수를 입력하시오 >> "); scanf("%d%d%d%d%d", &a, &b, &c, &d, &e); printf("%d\n%d\n%d\n%d\n%d\n", a, b, c, d, e); return 0; } >>> 다섯개의 정수를 입력하시오 >> 1 2 3 4 5 1 2 3 4 5 만약 다섯개의 int형 값을 받아야 한다고 가정했을 때 하나의 int형 값마다 변수를 하나씩 선언해 개별적으로 값.. 2020. 9. 10.
[C] 함수의 구조와 예제 모음 수학적 정의의 함수와 코딩에서의 함수는 다른 의미라고 봐야한다 개발을 위한 함수는 Function 즉 필요한 기능의 집합이다 특히나 함수를 이용한 개발구조의 C 언어에 있어서 함수는 더욱이 큰 의미를 가진다. ​ ​ C언어 - 함수의 기초 #include int tax(int salary); // 함수선언 function(매개변수1,매개변수2...) int main() { double sal=0; //월급 공제전 수령액 double result=0; printf("월급 수령액을 입력하시오 >> "); scanf("%lf", &sal); result=tax(sal); printf("이번 달 월급 실수령액은 %.0lf원 입니다. ", result); return 0; } int tax(int salary) .. 2020. 9. 9.
C언어 반복문 예제와 기초 알아보기 - for,while,dowhile 프로그래밍 코드에는 다양한 코드 제어를 위한 제어문이 존재하며 그중 반복문은 제어문에 속합니다. ​반복문의 종류로는 세 가지가 존재합니다. for문 while문 do/while문 하지만 여기서는 가장 많이 쓰이는 for문과 while문에 대해서만 알아보겠습니다. 1. for문의 기초 구조 #include int main() { int count=0; // 반복할 횟수 제어 printf("1부터 반복할 횟수를 입력하시오 : "); scanf("%d", &count); // count의 값 설정 for(int i=1; i>> 10 1 2 3 4 5 6 7 8 9 10 for문의 형태는 아래와 같습니다. for(초기화식; 조건식; 증감식) { 실행문장 } 초기화 식에는 반복을 제어할 iterator의 값을 초.. 2020. 9. 9.
C언어 조건제어문 if문/else문 과 switch/case문 예제와 기초 프로그래밍 언어에서는 반복과 조건을 제어하기 위한 기능의 구문이 따로 존재합니다. 이를 제어문이라고 칭하며 오늘 배워볼 것은 제어 문중에서도 조건을 설정하는 조건 제어문에 대해 배워보겠습니다. C언어에는 두 가지의 조건 제어문이 존재합니다. if/else문 : 조건만을 설정하는 데에 특화되어있다. switch/case : 주어진 변수를 여러 조건에 비교하는 경우 1. a보다 b가 큰 경우의 조건식 #include // 헤더파일 선언 int main() // main 함수 { int a=10; int b=20; if(a>> a보다 b가 크다 a와 b 두 변수의 값의 크기에 대한 비교 코드입니다. a가 b보다 클경우에는 a보다 b가 크다는 메시지가 출력되고 그 이외의 경우에는 a보다 b가 작다는 메시지가 출.. 2020. 9. 9.
C언어의 기초적인 구조와 자료형 그리고 입출력 C언어 코딩에는 주로 Visual Studio를 사용합니다만 가벼운 연습용으로 사용할 수 있는 Dev-C++이라는 프로그램이 있습니다. 해당 프로그램으로 연습하는 걸 추천드립니다. 1.C언어의 기초구조 #include // 헤더파일 선언 int main() // main 함수 { return 0; // 코드 종료 } >>> C언어는 오래된 언어라 함수지향적 코딩입니다. 요즘은 대부분 객체지향형 언어인 Java나 Python을 많이 사용하는데 함수 지향적 언어가 무엇이냐면 언어 자체에 기본적인 틀이 존재하며 이는 함수의 형태로 이루어져 있고 코딩은 그 틀에 맞춰 이루어져야 한다는 걸 뜻합니다. 위 코드는 C언어의 가장 기초적인 int main() 함수가 보이는 기본 코드입니다. main() 함수는 내가 실.. 2020. 9. 9.
[C] C 중급 2차원 배열과 포인터배열 예제 C의 배열(array)은 배열 자체 그대로 사용하기에는 응용력이 많이 떨어지는 문법입니다. 그래서 2차원 배열로 확장하여 사용하곤 하는데 2차원 배열은 행렬논리적 구조를 가지지만 실제 메모리의 기억공간에서는 1차원 배열의 형태로 존재합니다. 그럼 C 배열의 기본적인 초기화 및 사용법을 알아보겠습니다.​ 2차원 배열의 선언 및 초기화 #include int main() { int double_array[2][3]={{1,2,3},{4,5,6}}; for(int i=0; i> 1 2 3 4 5 6 int double_array[2][3] 는 2차원 배열입니다. {{1,2,3}, {4,5,6}} 의 값을 가지고 있으며 2*3의 크기를 가지고 있습니다. 즉 원래 배열의 선언이 {} 괄호 내에 값만 삽입하는 형태.. 2020. 7. 27.
[C] c의 정적변수와 외부변수 변수의 종류 정적(static) 변수 외부(extern) 변수 변수의 종류는 크게 두 가지로 나눌 수 있습니다. 이러한 분류가 필요한 이유는 변수의 영역의 차이에 따른 용도가 존재함과 동시에 함수간 데이터 전달이 더 원할해야 하기 때문입니다. 정적 변수 (Static Variable) #include int *print_ex(); int main() { int *count=0; count=print_ex(); printf("외부함수 호출후 메인함수에서의 값 : %d\n", *count); return 0; } int *print_ex() { static int sum=5; return ∑ } >>> 외부함수 호출후 메인함수에서의 값 : 5 위 코드는 정적 변수를 외부 함수에서 선언하여 해당 값을 포인터로.. 2020. 7. 25.
300x250