point변수는 8 byte
int: 4byte
char: 1byte
주소값은 처음 시작 값 => int는 4바이트 만약 24로 시작하면 int 값은 27까지
int* p =&i; : 그 주소를 집여넣고 주소값에 접근해서 변경
int main(void) {
int *p1 = 4; // 메모리 위치를 물리적으로 정해줌. 포인트변수에 int값(데이터)을 할당은 맞기는 하지만 4를 바로보고 있는 것
char *p2 = 4;
printf("p1 + 1 : %ld\n",
(long)(p1 + 1)); // p1은 주소 , 1칸이 이동한거지만 1칸이 int값이니 4칸만큼 이동함.
printf("p2 + 1 : %ld\n", (long)(p2 + 1));
return 0;
}
#include <stdio.h>
// 수정가능지역 시작
void change(int num) {
num = 50;
}
// 수정가능지역 끝
int main(void) {
int x = 20;
printf("change 함수 호출하기 전의 x : %d\n", x);
// 수정가능지역 시작
change(&x); // 위에서 int* num의 포인터 변수를 만들어주면 출력은 그 주소값을 써줘야한다!!!
// 수정가능지역 끝
printf("change 함수 호출한 후의 x : %d\n", x);
// 출력 => change 함수 호출한 후의 x : 50
return 0;
}
#include <stdio.h>
void change(int num) { // 이중포인터로 바꾸어주기
num =50;
}
int main(void) {
int x = 20;
int* p = &x;
printf("change 함수 호출하기 전의 x : %d\n", x);
change(&p);
printf("change 함수 호출한 후의 x : %d\n", x);
// 출력 => change 함수 호출한 후의 x : 50
return 0;
}
class Main {
public static void main(String[] args) {
무기 a무기 = new 칼();
a무기.공격();
// 출력 : 칼로 공격합니다.
무기 b무기 = new 활();
b무기.공격();
//활로 공격합니다
}
}
class 칼 extends 무기{
void 공격() {
System.out.println("칼로 공격합니다.");
}
}
class 무기{
void 공격(){}
}
class 활 extends 무기{
void 공격(){
System.out.println("활로 공격합니다.");
}
}
class Main {
public static void main(String[] args) {
자동차 a페라리 = new 페라리();
a페라리.뚜껑이_열리다();
a페라리.달리다();
자동차 a람보르기니 = new 람보르기니 ();
a람보르기니.뚜껑이_열리다();
a람보르기니.달리다();
}
}
class 자동차 {
void 달리다() {}
void 서다() {}
void 뚜껑이_열리다() {} // 정의하지 않은 애를 언급했을 때 그것은 실행되지 않음.
}
class 페라리 extends 자동차 {
void 뚜껑이열리다() {}
void 달리다(){
System.out.println("페라리가 달린다");
}
}
class 람보르기니 extends 자동차 {
void 뚜껑이열리다() {}
void 달리다(){
System.out.println("람보르기니가 달린다"); // 달리다를 재정의 해줌.
}
}
class Main {
public static void main(String[] args) {
사람 a사람 = new 사람();
a사람.나이 = 20;
a사람.a왼팔 = new 팔();
}
}
class 사람 {
// 클래스안에 변수를 정의 할 수 있다.
int 나이;
팔 a왼팔; //참조형 변수도 타입을 받을 수 있다
}
class 팔 { //자기 자신에 타입을 넣은 것이므로 extends 사용이 필요없다.
}
전체 주석: 드래그하고 컨트롤 시프트
심화문제 3번,4번 해석해보자
사람클래스를 만들고 홍길동, 홍길순이라는 할당함.
클래스가 객체화 될때. 클래스 명과 동일한 이름의 함수가 자동 실행된다.
생성자 함수에 같은 (class)함수명이 있으면 실행된다. (●'◡'●)