안녕하세요, IT디자이너입니다. 이번에는 C언어의 지역변수와 전역변수 및 static register 변수에 대해서 소개해드리겠습니다.! 1. 지역변수 지역변수는 여러분이 자연스럽게 많이 사용해왔던 변수입니다. { } (중괄호) 안에 선언된 모든 변수들은 지역변수의 특징을 가지고 있습니다. 즉, main() 함수 안에 선언된 변수도 마찬가지인데요, 지역변수는 다른 함수에서는 사용이 불가능하고, 이러한 변수 및 함수들은 스택(Stack)이라는 메모리 구조에 저장이 됩니다. 즉, 지역변수가 위치한 함수가 종료되었을 때 메모리 해제가되어 해당 함수 및 변수는 소멸합니다.!!! // (메모리 구조 내용은 추후 포스팅에 상세하게 설명드리도록 하겠습니다.) 또한 매개변수도 지역변수의 특징을 가지고 있습니다. 이러한..
안녕하세요, IT디자이너입니다. 이번에는 C언어에서의 간단한 함수 사용 방법과 활용 방법에 대해서 포스팅하도록 하겠습니다. C언어의 간단한 함수 구성입니다. 가장 먼저 프로젝트 파일을 생성 시 main() 함수가 있는 것을 볼수 있으실텐데요 소괄호 안의 "void"는 생략이 가능합니다. 그리고 main() 함수는 C언어가 컴파일 될 때 가장 먼저 실행된다는 것을 알고 있으시면 좋습니다. 네, 이제 본론으로 우리가 원하는 함수를 생성하는 방법에 대해서 소개해드릴려고 합니다. 우리가 함수를 정의 하고싶을 때는 무조건 main() 함수 위에서 정의를 해주셔야합니다. #include void hello(){ printf("안녕하세요"); } int main(){ hello(); return 0; } 위의 코드처..
안녕하세요, IT디자이너 입니다. 이번에는 C언어의 상수에 관련하여 포스팅하도록 하겠습니다. C언어에서 변수, 변수의 데이터타입 등 변수에 관해서 여라가지 키워드를 보셨을 겁니다. 하지만 그의 반대되는 "상수"라는 개념도 있겠죠? 이번에도 하나씩 파헤쳐보도록 하겠습니다. ! 1. 리터럴(Literal) 상수 리터럴 상수는 이름없는 상수 입니다. 여러분이 생각지도 않게 여러번 쓰셨을 겁니다. int num1 = 10; int num2 = 10 + 30; 위 코드를 보시게되면은 "10"이라는 숫자를 대입하거나 "10+30"으로 연산하여 대입하는 경우가 있을 겁니다. 네, 바로 대입연산자의 우측에 있는 숫자들이 "리터럴(Literal) 상수" 입니다. 우리가 변수를 초기화할 때 사용하는 숫자들은 CPU에서 어..
안녕하세요, IT다자이너입니다. 이번 포스팅은 C언어의 연산 처리 방법에 관해서 소개해드리려고 합니다. C언어를 공부하셨다면 여러가지 데이터 자료형이 있다는 것을 알고 계실겁니다. 만약 우리가 char 데이터타입의 연산을 하게된다면은 C언어는 정말로 char 데이터 타입으로 연산을 하게 될까요? 결론을 말씀드리자면은 아닙니다.!!!! C언어는 CPU가 가장 연산이 수월하게 할 수 있는 데이터 타입으로 변경하여 연산을 하게 됩니다. 위 사진을 보시게 된다면은 char 데이터 타입이지만 연산과정을 sizeof() 연산자로 출력하면은 '4'가 출력 되는 것을 볼수 있을 것이고 연산된 값을 동일한 데이터 타입의 변수에 담고 그 크기를 출력하였을 때는 char의 온전한 크기가 출력되는 것을 볼수 있을 것입니다. ..
안녕하세요, IT디자이너입니다. 이번 포스팅에서는 C언어의 표준 라이브러리에서 사용하는 기본 입, 출력 함수를 소개해드리겠습니다. printf() 와 scanf는 무언가를 프린트하고 스캔 하는 느낌의 의미로 생각하실 수 있을 것입니다. 네, 맞습니다. 말 그대로 우리가 우리가 입력한 값을 스캔하고 우리가 출력하고 싶은 값을 프린트하는 것입니다. 하지만, 도구는 역시 사용하는 방법을 알아야 유용하겠죠? 1. printf(); printf()는 문자열을 출력하거나 서식문자를 통해서 여러가지 원하는 값을 출력할 수 있습니다. printf("안녕하세요, IT디자이너 입니다."); 또는 int num = 10; printf("%d",num); 이렇게 서식문자를 통해서 문자열 뿐만 아니라 정수또한 출력이 가능합니다..
안녕하세요, IT 디자이너입니다. 저의 첫 포스팅으로 컴퓨터가 C언어를 어떻게 해석하는지에 대해서 포스팅하려고 합니다. 우선 간단하게 C언어의 컴파일 단계를 이미지로 설명드리겠습니다. C언어의 컴파일 단계 1. 소스 파일(Source File) 우리가 간단하게 작성한 소스코드를 컴파일 하는 단계도 이렇게 많은 절차를 걸쳐서 실행파일을 생성하게 됩니다. 소스 파일은 여러분이 개발하면서 한 번쯤은 봤을 " .c " 또는 C++일 경우 " .cpp "확장자로 된 파일입니다. 우리가 작성한 소스코드가 저장되어있습니다. 2. 선행 처리기(Preprocessor) 그다음은 "선행 처리기"를 거치게 됩니다. 선행 처리기의 역할을 설명해드리기 앞서, C언어를 통한 소스코드 작성 시 상단의 #include 를 한 번쯤은..
안녕하세요, IT디자이너입니다. 첫 포스팅은 C언어의 문법이나 기술이 아닌 C언어의 역사에 대해서 포스팅하겠습니다. 모든 기술은 필요에 의해서 탄생한다고 생각합니다. C언어 또한 인간의 필요에 의해서 개발된 도구 중 하나입니다. C언어의 탄생배경으로는 "UNIX"가 결코 빠질 수 없는 키워드이며, 탄생의 이유입니다. 켄 톰슨과 데니스 리치는 벨 연구소에서 "UNIX"운영 체제를 개발할 때 "어셈블리어"라는 "Low-Level 언어"를 사용하였습니다. 하지만, 어셈블리어는 특정 하드웨어에 종속적인 언어로서 이 언어로 작성된 프로그램은 다른 하드웨어로 이식할 수 없다는 단점이 있었습니다. 하나의 기능을 하는 프로그램을 CPU의 종류만큼 여러 번 작성해야한 하는 것입니다. 즉, 새롭고 쉽고 간편하고 어떠한 작..
- Total
- Today
- Yesterday
- C언어 #자료구조 #C++ #연결리스트 #리스트 #알고리즘 #IT디자이너
- C언어 #C++ #IT디자이너 #함수 #재귀 함수 #스택 #자료구조 #페인팅
- C언어 #C++ #어셈블리어 #IT디자이너 #비트연산자 #연산자 #C언어의 비트 연산자
- C언어 #포인터 #배열 포인터 #포인터 배열 #함수
- C언어 #C++ #어셈블리어 #재귀함수 #IT디자이너
- IT디자이너 #C언어 #C++ #IT디자이너 #코딩테스트
- C언어 #IT디자이너
- C언어 #C++ #어셈블리어 #함수 호출 규약 #IT디자이너 #비쥬얼 스튜디오 #IT
- C언어 #C++ #구조체 정렬 #pragma #IT디자이너
- Debug #C언어 #C++ #비쥬얼스튜디오 #Release #IT
- 디버그 #Debug #Release #디버그와 릴리즈 차이 #C언어 #C++언어 #어셈블리어
- C언어 #C++ #삼각함수 #IT디자이너 #문제풀이 #2진수 #16진수 #비트 #bit #비트연산자
- C언어 #포인터 #IT디자이너
- 어셈블리어 #IT디자이너 #C언어 #C++언어 #어셈블리 #어셈블러
- C언어 #스트림 #버퍼링 #표준 입출력 함수 #C++언어 #IT디자이너
- 스택 #자료구조 #Stack #IT디자이너 #알고리즘 #C언어 #스택 과제 #C++
- C언어 #C++ #시간 함수 #타이밍 맞추기 #timer interrupt #IT디자이너
- C언어 #C++ #IT디자이너 #C++ 함수
- C언어 #IT디자이너 #C++언어
- QUEUE #큐 #자료구조 #원형 큐 #Circle Queue #IT디자이너 #큐 과제 #C언어 #C++언어
- IT디자이너 #C언어 #C++ #속성지정자 #기억클래스 #IT #const #static #register #volatile #extern #auto #s
- C언어 #C++ #파일 입출력 #텍스트파일 #IT디자이너
- C언어 #C++ #캐시hit #캐시라인 #캐시무효화
- C언어 #C++ #어셈블리어 #구조체 #구조체 특징 #IT디자이너
- C언어 #IT디자이너 #포인터 #배열 #포인터와 배열
- C언어 #C++ #어셈블리어 #열거형 데이터타입 #IT디자이너
- IT디자이너 #QuickSort #퀵정렬 #C언어 #C++ #자료구조 #알고리즘
- C언어 #C++ #switch #if #어셈블리어 #switch문 사용 이유 #IT디자이너
- C언어 #C++ #IT디자이너
- C언어 #C++ #자료구조 #알고리즘 #IT디자이너 #버블 정렬 #BubbleSort
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |