Development/C, C++(556)
-
레지스터 변수(Register Variable)
레지스터 변수(Register Variable)· CPU 내부의 레지스터에 변수를 할당하는 변수· 처리속도가 빠름 레지스터(Register)· CPU를 구성하는 부품 중 하나이며· CPU가 데이터를 처리하기 위해 사용하는 임시 작업공간 레지스터 변수 특징· 자주 쓰는 변수들을 register 변수로 선언하여 사용합니다.· 코드 최적화시 레지스터변수가 자동으로 지역변수로 할당될 수 있습니다.· 왜냐하면 레지스터 변수의 수가 제한되어 있기 때문에 컴파일러에 의해 레지스터 수와 선언된 변수의 수의 가중치를 따져 레지스터 변수로 선언되었지만 지역 변수로 할당 되는 경우도 있습니다.· 고차원 컴파일러의 경우 레지스터로 선언해 주지 않아도 코드 최적화시 자동으로 레지스터변수로 잡아줍니다.
-
Error-'Launching xxxxxx.exe' has encountered a problem. Program file does not exist
증상 소스코드에 문제 없으며 빌드 후 실행시 exe파일이 생성되지 않습니다. 에러메시지 'Launching xxxxxx.exe' has encountered a problem. Program file does not exist 원인 생성된 소스파일(Ex01.c)파일이 정상적인 위치인 src 폴더에 생성되지 않아서 발생하는 문제입니다. 해결방법 소스파일(Ex01.c)파일을 src폴더 안으로 이동시킨 후 다시 컴파일 한 후 실행하면 정상적인 결과를 확인할 수 있습니다. 정상실행 확인 해결방법 2아래 링크의 해결방법 3, 4번을 수행http://codedragon.tistory.com/4178 eclipse CDT 툴바에서 생성된 exe파일을 선택한 후 >> 실행하면 결과를 확인할 수 있습니다.
-
동적 메모리 할당(dynamic allocation), 컴파일 시간 vs 런 타임
동적 메모리 할당(dynamic allocation)· 프로그램 실행 중 필요한 메모리를 운영체제로부터 할당받게 됩니다.· 메모리를 동적으로 할당받으면 , 메모리를 필요한 만큼 사용하고 사용이 끝나면 시스템에 반납할 수 있어 자원을 효율적으로 사용할 수 있습니다.· 힙(Heap)영역에 할당합니다.· 런타임 중(실행 시간)에 할당이 이루어 집니다.· 프로그래머가 동적 메모리 할당을 할 수 있는 공간(프로그래머가 관리)입니다. 컴파일 시간 vs 런 타임
-
프로그램이 메모리를 할당 받는 방법
프로그램이 메모리를 할당 받는 방법 · 정적(Static) 메모리 할당· 동적(Dynamic) 메모리 할당
-
배열의 크기, 배열이 차지하는 총 메모리의 크기, 배열의 길이
배열의 크기· 배열을 복사하거나 배열 요소에 특정 작업을 하고 싶을 때는 해당 배열이 차지하는 메모리의 크기를 정확히 알아야 합니다.· 배열의 개수를 알아내려면 sizeof()함수 사용해서 알아 낼 수 있습니다. 배열이 차지하는 총 메모리의 크기 배열의 길이 = sizeof(배열 이름) / sizeof(배열 이름[0])
-
배열 선언 방법-배열 선언후 초기화, 배열 선언과 동시에 초기화, 배열 길이 자동 설정, 배열 요소의 위치, 첨자 vs 인덱스
배열 선언 방법· 배열 선언후 초기화· 배열 선언과 동시에 초기화· 배열 길이 자동 설정 배열 선언후 초기화배열의 길이를 선언할 때에는 반드시 상수를 사용해야 합니다. 자료형 int · 배열의 자료형을 지정 · 배열 요소로 들어가는 변수의 타입을 명시합니다. 배열 이름 array · 변수 이름과 마찬가지로 배열을 구분하는 이름 · 배열이 선언된 후에 배열에 접근하기 위해 사용됩니다. · 배열의 이름은 배열의 첫 번째 요소와 같은 주소를 가리킵니다. 배열 길이 [5] · 배열 요소의 총 길이(10개의 변수를 배열로 구성) · 배열이 몇 개의 배열 요소를 가지는지 명시합니다. · 괄호안에 들어가는 숫자를 '첨자'라고 합니다. 배열 선언과 동시에 초기화배열 요소 초기화시 {}사이의 엔터키와 스페이스 바는 배열..