일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- inheritance
- flutter
- compare
- Barcode
- atmega328
- UNO
- length
- APP
- preprocessing
- Class
- Encapusulation
- Binary
- memory
- Android
- aduino
- Pointer
- stream
- mfc
- digitalRead
- SERIAL
- Unity
- java
- Overloading
- sensor
- file access
- Contour
- wpf
- parameter
- public
- Read
- Today
- Total
목록parameter (8)
폴크(FOLC)
# JAVA 프로그램은 JVM(가상머신)을 통해서 실행 > JVM 은 운영체제(OS) 에게 프로그램을 수행하기 위해서 메모리 공간을 할당 받는다. > 메소드 영역 : 클래스와 변수들이 저장되는 공간 - .class 파일을 load 해서 관련 정보를 갖고 있는다. > 스택 영역 : 메소드들의 스택 프레임이 저장되는 공간 - 메소드가 호출되는 시점에 지역 변수와 매개 변수의 정보를 갖고 있는다. - 푸시로 데이터를 쌓고 팝으로 데이터를 꺼내온다. ( 후입선출 - LIFO ) > 힙 영역 : 인스턴스 변수가 저장되는 공간 ( 생성/삭제 ) - new 키워드를 이용해서 확보됨. # 메모리 할당 > User 에 의해서 힙 영역에 특정 공간을 관리하기 위한 요청이 발생 > new 명령어를 이용해서 할당 받고 del..
# Pointer 의 개념이 없다. 하지만, 주소 또는 참조의 개념은 있다. > '*' 문자를 사용하지 않음. > 람다식을 이용 # 널 ( null ) > 모든 상태의 기본값 > 아무것도 가르키지 않는 상태값 ( 값이 없는 상태 ) > 정의 되지 않은 상태 ( 초기화 되지 않은 상태 ) # 값에 의한 전달 ( call by value ) > 클래스가 아닌 자료형 > 전달하는 변수의 값을 호출되는 함수의 매개변수에 복사(copy) > 메모리 영역이 공유되지 않음. # 참조에 의한 전달 ( call by reference ) > 클래스 > 전달하는 변수를 호출되는 함수의 매개변수에 주소 복사(memory address) > 메모리 영역이 공유
# 물리적인 메모리 영역에 source code 가 load 되고 프로그램에서 사용하는 변수들과 메모리 공간을 할당 > 코드 영역 : 실행 프로그램 소스 코드가 저장되는 공간 - 실행 시점에 결정 > 데이터 영역 : 전역/정적 변수들이 저장되는 공간 - 컴파일 시점에 결정 > 스택 영역 : 지역/매개 변수들이 저장되는 공간 - 컴파일 시점에 결정 > 힙 영역 : User 가 직접 관리 하는 공간 ( 생성/삭제 ) - 실행 시점에 결정 # 메모리 할당1 > User 에 의해서 힙 영역에 특정 공간을 관리하기 위한 요청이 발생 > new 명령어를 이용해서 할당 받고 delete 명령어를 이용해서 해제 > byte 단위로 전체 크기를 설정 > return 값은 첫번째 주소값 ( pointer ) # 메모리 할..
# 널 포인터 ( null pointer ) > 아무것도 가르키지 않는 포인터 > 포인터 변수를 0 으로 초기화 하거나 NULL 로 초기화 > C++11 이상에서는 nullptr 로 초기화 # 비자료형 포인터 ( void pointer ) > 주소값만 저장 가능 > 포인터 연산이나 메모리 참조는 할 수 없다. > 자료형이 없는 포인터 ( 변수, 함수, 포인터 등을 대입 할 수 있음 ) # 함수 포인터 ( function pointer ) > 함수 이름의 주소를 대입 할 수 있는 포인터 > 프로그램이 실행될때 compile 이 완료된 상태이므로 반환값, 전달값은 정해져 있다. # 값에 의한 전달 ( call by value ) > 전달하는 변수의 값을 호출되는 함수의 매개변수에 복사(copy) > 메모리 ..
# 함수 # 함수는 특별한 목적을 수행하기 위해서 설계된 명령문들의 모임 > 표준 함수, 사용자 정의 함수 > 반복적인 작성을 피할 수 있고 반복적인 수행이 가능 > 기능별 호출이 용이하며 모듈화가 가능하여 가독성이 높아진다. # 정의 > void functionName(X, Y) { } > 반환값 ( void ) : 모든 작업을 마치고 결과를 반환하는 값 ( 0개 or 1개 이하 ) > 함수명 ( functionName ) : 호출하기 위한 이름 > 전달인자 ( X, Y ) : 호출할때 전달되는 값 ( N개 ) > 함수 몸체 { } : 명령문들의 모임 # 특징 > 함수를 사용하기 위해서는 사용하기 전에 미리 작성(원형 선언) 되어 있어야 한다. > 함수 원형 선언은 몸체를 제외한 부분을 main() 함..
# 물리적인 메모리 영역에 source code 가 load 되고 프로그램에서 사용하는 변수들과 메모리 공간을 할당 > 코드 영역 : 실행 프로그램 소스 코드가 저장되는 공간 - 실행 시점에 결정 > 데이터 영역 : 전역/정적 변수들이 저장되는 공간 - 컴파일 시점에 결정 > 스택 영역 : 지역/매개 변수들이 저장되는 공간 - 컴파일 시점에 결정 > 힙 영역 : User 가 직접 관리 하는 공간 ( 생성/삭제 ) - 실행 시점에 결정 # 메모리 할당1 > User 에 의해서 힙 영역에 특정 공간을 관리하기 위한 요청이 발생 > malloc 명령어를 이용해서 할당 받고 free 명령어를 이용해서 해제 > byte 단위로 전체 크기를 설정 > return 값은 첫번째 주소값 ( pointer ) # 메모리 ..
# 널 포인터 ( null pointer ) > 아무것도 가르키지 않는 포인터 > 포인터 변수를 0 으로 초기화 하거나 NULL 로 초기화 # 비자료형 포인터 ( void pointer ) > 주소값만 저장 가능 > 포인터 연산이나 메모리 참조는 할 수 없다. > 자료형이 없는 포인터 ( 변수, 함수, 포인터 등을 대입 할 수 있음 ) # 함수 포인터 ( function pointer ) > 함수 이름의 주소를 대입 할 수 있는 포인터 > 프로그램이 실행될때 compile 이 완료된 상태이므로 반환값, 전달값은 정해져 있다. # 값에 의한 전달 ( call by value ) > 전달하는 변수의 값을 호출되는 함수의 매개변수에 복사(copy) > 메모리 영역이 공유되지 않음. # 참조에 의한 전달 ( c..
# 함수 # 함수는 특별한 목적을 수행하기 위해서 설계된 명령문들의 모임 > 표준 함수, 사용자 정의 함수 > 반복적인 작성을 피할 수 있고 반복적인 수행이 가능 > 기능별 호출이 용이하며 모듈화가 가능하여 가독성이 높아진다. # 정의 > void functionName(X, Y) { } > 반환값 ( void ) : 모든 작업을 마치고 결과를 반환하는 값 ( 0개 or 1개 이하 ) > 함수명 ( functionName ) : 호출하기 위한 이름 > 전달인자 ( X, Y ) : 호출할때 전달되는 값 ( N개 ) > 함수 몸체 { } : 명령문들의 모임 # 특징 > 함수를 사용하기 위해서는 사용하기 전에 미리 작성(원형 선언) 되어 있어야 한다. > 함수 원형 선언은 몸체를 제외한 부분을 main() 함..