C언어
포인터
- &i : 변수의 주소 반환
❗주소의 값이 큰 이유 : RAM의 가장 큰 구간부터 데이터가 쌓이기 때문
→ 지역변수는 Stack으로 쌓여 아래(가장 큰 메모리 크기) 부터 채워진다.
- 같은 객체 내 지역변수의 (가상)메모리 주소는 비슷하게 나온다.
- 먼저 넣은 변수 주소의 값이 더 크다.
→ 메모리를 효율적으로 사용해야 하기 때문에 옆으로 넣는다. - * : 해당 메모리 주소로 간다~
- int* p : int변수의 주소가 들어간다.
- 메모리의 주소로 이동한다. - int* p 의 size는 8byte이다.
- 모든 포인터 크기는 8byte
- CPU워드마다 크기는 달라진다. - p = &a;
- p는 a의 주소를 가진다 - 근처에 있는 주소를 가진 변수 2개 있으면 그 변수의 주소를 모두 다 외울 필요는 없다.
#include <stdio.h>
int main(void) {
int a = 10;
int b = 20;
int* p;
// 수정가능 시작
p = &a;
*p = 100;
p = &a - 1; // &a-1 = &b -> a의 한칸 -> a의 주소를 이용하여 입력
*p = 300;
// 수정가능 끝
printf("a : %d\\n", a);
// 출력 => a : 100
printf("b : %d\\n", b);
// 출력 => b : 200
return 0;
}
- 무언가를 가리킬 때 포인터(주소, 위치) + 크기정보(int, char)가 필요하다.
GIT
- working / stage / repository 영역으로 나뉜다
- working 영역의 변경사항을 따로따로 repository에 저장 가능
명령어
- touch 파일명 : 파일 생성
- mkdir : directory 생성
- p : 한번에 생성 - rm : 파일 삭제
- cd : 폴더 이동
- pwd : 자신의 위치 경로 출력
- whoami : 내가 누구인가.
- echo “~~~” : ~~~출력
- n : 한줄로 출력 - echo “~~~~” > 파일이름 : 파일이름에 텍스트(~) 입력
- git status : working영역과 repository의 차이점 입력
- git add : working → stage 영역으로 이동
- git rm —cached : stage → working 영역으로 재위치
- git commit : stage → repository 영역으로 이동
- git config user.name : git에 저장되어 있는 아이디 출력
- git config user.email : git에 저장되어 있는 이메일 출력
- git config —global user.name or user.email : 모든 프로젝트에 설정할 아이디와 이메일 - git log : commit 로그 기록(해당 커밋 로그 기준)
- git checkout : 특정 commit버전으로 전환
- echo .idea > .gitignore / echo target >> .gitignore : repository의 기본 설정
- git remote add origin 레포지토리 주소 : 해당 레포지토리 주소에 커밋
- git push origin master : master 브랜치로 push
vi vim 명령어
- a : insert 모드
- esc : menu 모드
- :q : 빠져나가기(!를 붙이면 강제 실행)
- :wq! : 저장 후 나가기
- :w : 저장하기
Java 실습
public class chapter5 {
public static void main(String[] args) {
Car3 car1 = new Car3(100);
Car3 car2 = new Car3(200);
car1.run();
car2.run();
}
}
class Car3 {
int max_speed;
public Car3(int max_speed) {
this.max_speed = max_speed;
}
void run() {
System.out.println("자동차가 최고속력 " + max_speed + "로 달립니다.");
}
}
후기 : 오늘은 포인터 부분에서 약간 헷갈렸다. 그래도 할만은 해서 다행이다. 수업을 하면 할수록 어려워 지지만 따라가려고 노력 많이해야겠다. 화이팅
'멋쟁이 사자처럼 BE School' 카테고리의 다른 글
[멋쟁이사자처럼 Back-End School 1기] Day 10. Git, GatsBy (0) | 2022.06.28 |
---|---|
[멋쟁이사자처럼 Back-End School 1기] Day 9. 포인터, Git, GatsBy (0) | 2022.06.27 |
[멋쟁이사자처럼 Back-End School 1기] Day 7. 컴퓨터 공학, 포인터, Java (0) | 2022.06.23 |
[멋쟁이사자처럼 Back-End School 1기] Day 6. C언어 함수, FLEX, DOM, BOM, JQuery (0) | 2022.06.22 |
[멋쟁이사자처럼 Back-End School 1기] Day 5. CS, 조건문, 실습 (0) | 2022.06.21 |