NULL 3

Chapter 05-1 참조 타입과 참조 변수

자바의 데이터 타입 자바의 데이터 타입은 기본 타입과 참조 타입으로 나뉜다. 기본 타입은 정수, 실수, 논리 타입을 말하고 참조 타입은 객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스를 말한다. 문자열을 저장하는 String도 참조 타입이다. 자바에서는 문자열을 값이 아닌 객체로 취급하기 때문에 참조 타입 변수에 문자열을 저장 시 힙 영역에 String 객체 생성 후 그 안에 문자열을 저장한다. 그리고 변수에는 String 객체의 번지가 저장되고 변수는 해당 번지를 참조하여 문자열에 접근할 수 있다. 기본 타입 변수는 변수에 값이 그대로 저장되고 참조 타입 변수는 힙 영역에 생성된 객체의 번지를 갖고 있다 이게 둘의 차이~ 메모리 사용 영역 JVM은 운영체제에서 할당받은 메모리 영역을 ..

Java 2022.11.10

C 공부 5일차 Chapter 12

포인터 C언어는 포인터를 통해 메모리에 직접 접근이 가능하기에 low 레벨 언어의 특성을 갖고 있다고 할 수 있다. 포인터 변수에도 변수의 자료형처럼 형이 존재하는데 이가 필요한 이유는 메모리 공간에 접근 시 기준을 마련해준다. 예를 들어 int형 포인터 변수 p는 p가 가리키는 변수의 내용을 4바이트를 읽어들여 이를 정수로 해석한다. 포인터 변수의 크기 32비트 시스템에서는 주소를 32비트로 표현하는 반면 64비트 시스템에서는 64비트로 표현한다. 따라서 32비트 시스템에서 포인트 변수의 크기는 4바이트, 64비트 시스템에서 포인트 변수의 크기는 8바이트이다. & 연산자 &연산자는 오른쪽에 오는 피연산자의 주소값을 반환하는 연산자로\ 피연산자는 변수만 가능하다. 상수는 피연산자 자리에 올 수 없다! 널..

C 2022.09.09

C 공부 4일차 Chapter 11

널 문자와 공백 문자 널 문자의 아스키코드는 0이고 공백 문자의 아스키코드는 32이다. int main(void){ char null='\0'; char blnk=' '; printf("%d %d", null, blnk); return 0; } 위 코드 실행 시 0과 32가 출력됨을 확인할 수 있다. 문자열 널 문자의 존재 여부에 따라 문자배열인지 문자열인지가 나뉜다. 문장 끝에 널 문자 존재 시 ==> 문자열 문장 끝에 널 문자 존재하지 않을 시 ==> 문자배열 문자열 끝에 널 문자가 필요한 이유는 문자는 메모리상에서 이진 데이터로 저장되기 때문에 문자열의 시작과 끝이 표시되어 있지 않다면 문자열을 구분하는 것이 불가능하기 때문이다.

C 2022.09.08