일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Tips프로그래밍강좌
- 리뷰
- Direct2D
- 문법
- 백준
- 알고리즘
- 김성엽
- tipssoft
- 지식나눔강좌
- Programming
- 함수
- VS ERROR
- Desktop
- Kotlin
- Windows
- 프로그래밍
- CS
- 이지스퍼블리싱
- Visual Studio
- 포인터
- 티스토리
- 연산자
- doit코틀린프로그래밍
- c
- c#
- 배열
- Tips강좌
- c++
- Javascript
- Win32
- Yesterday
- Today
- Total
목록초기화 (4)
F.R.I.D.A.Y.
C언어 변수 개념 질문입니다. 안녕하세요. C언어 기본서를 다시 훑어보는 도중에 의문이 생겼습니다. 코딩 대신 해달라는 질문아니고 개념 질문이니 그냥 지나치지 않아주시면 감사하겠습니다.책에서는 정적변수 ( 예시... kin.naver.com C언어 중에서도 static 변수의 초기화와 대입에 대한 내용을 질문하셨습니다. 변수 많은 변수들은 각각 생존 주기(Life cycle)를 가집니다. 대부분 자신으로부터 가장 가까운 바깥 블록의 생존 주기를 가집니다. int main(void){ int a; { int b; { int c; } // 3 } // 2 } // 1 이 코드에서 a 변수의 생존 주기는 1번 블럭 안에서, b 변수는 2번 블럭 안에서, c 변수는 3번 블럭 안에서 사용할 수 있습니다. 만일 ..
변수의 초기화 방법은 각 문법에서 설명했습니다. 다른 언어에서는 잘 사용하고 있었는데 C언어에서는 그 문법을 찾을 수가 없었습니다. 최근에 문법 지원이 이루어지고 있음을 알게 되어, 초기화 문법을 추가로 설명하고자 따로 포스트를 작성합니다. 배열 초기화 우리가 배열을 초기화할 때는 아래와 같이 이용했습니다. int arr1[10] = {0}; int arr2[10] = {1,2,3}; int arr3[10] = {}; 처음이 아닌 중간의 특정 인덱스의 값을 초기화하기 위해서는 일일이 대입하거나, 혹은 그 이전 인덱스에도 초기화 값을 넣어주어야 했습니다. // 4번 째 요소에 값 4를 넣는 초기화 // style 1 int arr1[10] = {0,0,0,4}; // style 2 int arr2[10];..
종종 프로그램을 작성하다가 보면 아래와 같은 런타임 오류가 발생하는 경우가 있습니다. 이 문제는 왜 발생하는걸까요? 위 문제는 아래 코드로부터 발생되었습니다. #include int main(void) { int a; printf("변수 a의 값은 %d입니다.", a); return 0; } 위 코드를 작성하고 컴파일을 진행하면 아래와 같은 경고가 발생합니다. 컴파일러 경고 수준에 따라 경고가 오류로 발생할 수도 있습니다. 1. 원인 말 그대로 a 변수를 초기화 하기 전에 해당 변수를 사용해 발생하는 문제입니다. 변수를 처음 만들게 되면 기존 메모리에 들어있는 값을 그대로 사용하게 되기 때문에 어떤 값이 들어있는지 알 수 없습니다. 그래서 예외 발생의 가능성이 있죠. 따라서 프로그램이 변수에 들어있는 값..
C언어의 구조체(struct) 문법이 강화되면서 C++에 클래스 문법이 만들어졌습니다. 이 클래스 문법은 클래스 생성자가 존재합니다. 생성자를 간단히 설명하면 클래스를 인스턴스 해 객체를 만드는 과정에서 만들어진 객체가 오작동 없이 잘 기능할 수 있도록 내부 데이터(멤버 변수)를 초기화해주는 함수라고 생각하면 될것 같습니다. 1. class의 기본 구조 #include class test { private: int a; // 멤버 변수들 int b; int c; public: test() { // 생성자 } ~test() { // 소멸자 } }; 클래스의 기본 구조는 위와 같습니다. 생성자는 클래스 이름과 같고, 괄호 안에는 매개변수가 없거나 하나 이상 들어갈 수 있습니다. C++의 함수 오버로딩 기능이..