[C] 교육노트_잘 몰랐던 것들

Sireal·2021년 7월 6일
0

C

목록 보기
3/12

<2021년 07월 06일, 화>

선행처리

  • #define
  • #if ~ #endif
  • #elif ~ #endif
  • #ifdef ~ #endif

배열에서 char형을 계속 쓰는 이유

  • String을 char형으로 만들기 때문에

서식문자

  • %03d : 필드폭을 3칸 확보하고, 오른쪽 정렬해서 출력해라. 남은 자리는 0으로 채움
  • %-3d : 필드폭을 3칸 확보하고, 왼쪽 정렬해서 출력해라
  • %+3d : 필드폭을 3칸 확보하고, 오른쪽 정렬해서 출력해라. 양수는 +부호, 음수는 -부호를 넣어서!

<2021년 07월 07일, 수>

Git 처음 써봤음

참고자료 : https://pks2974.medium.com/%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EA%B8%B0%EC%B4%88-git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC%ED%95%98%EA%B8%B0-533b3689db81

  • 초간단 순서 (init -> remote 할것 추가 -> status 확인 -> add 로 추가 -> commit 하기 -> push로 보내기 )
    - git 주소 : https://github.com/psh4204
    - add .(현재여기) 원격저장소에 올릴거 추가하기
    - status로 확인
    - comit –m “add 올릴파일”
    - push 현재원격저장소(브랜치) 올릴브랜치(master)
    • 강제 push : git push origin +master

구조체와 Alignment

  • 구조체는 데이터 위치가 너무 중요함. 그냥 C는 메모리관련해서 다 중요
    -> 구조체를 배열처럼도 사용가능함
    -> 타입캐스팅 잘해야함 (type)
    -구조체 Alignment
    -> 구조체에 멤버변수의 타입과 순서에 따라 구조체 크기가 천차만별
    -> Packing을 통해 일정하게 다듬기 가능
#pragma pack(n) : 모든 구조체의 변수의 시작크기 n이 된다.
#pragma pack(push, n) ~ #pragma(pop) : 해당 ~구조체만의 변수의 최소크기는 n이 된다. (n은 1,2,4,8 등 데이터타입 크기로 지정 가능)

함수

  • void 형은 타입캐스팅 사용하는것 추천
  • extern 뜻 : 밖에 있을거야! 표시 (workspace 내에)
  • static 뜻 : 프로그램 꺼질때 까지 살아있어야 해! 표시

네임 맹글링

  • C코드를 C++에서 쓸 수 있도록 해주는 것
#ifdef __cplusplus // 네임 맹글링 : C++에서 C코드를 C코드로 쓸수있게 하는 것 {
extern "C" {
#endif // __cplusplus

// 해당 코드 입력

#ifdef __cplusplus // 네임 맹글링 : C++에서 C코드를 C코드로 쓸수있게 하는 것 }
}
#endif // __cplusplus

<2021년07월08일, 목>

  • 배열 포인터와 포인터 배열
    - 배열 포인터 : 배열을 포인터화 해서 쓰는 것
(*ptr) = ptr[0] = ptr
  • 선언할땐 제대로 해줘야함
  • 포인터 배열 : 포인터로 배열을 만들어서 각 배열에 주소를 저장할 공간을 만듦.
int *ptr[]
  • 배열의 핵심 = 배열의 주소는 쭈욱 연결되어있다.
(*ptr) = ptr[0] = ptr
*(ptr+1) = ptr[1]
*(*(ptr+1)+1) = ptr[1][1]
ptr[n]+1 -> n 다음 번 째 배열
  • array[행][열] : 코딩할 때 <- 이방향으로 읽으니까, 그래서 <-열, 행 순서로 적혀있음.

  • 배열의 첫 주소이자 원주소 = 배열의 이름.

  • 라이브러리
    - time.h // time_t, ctime(&time_t) : 시간확인
    - ctype.h // isalpha(c) : 대소문자 확인 (대_1,소_2)

  • 문자열
    - 끝에는 null이 들어간다는 점. 잊지말자

<2021.07.09 ~ >
(메모1)
strtok설명
(메모2)

profile
🚄계속 앞으로🚄

0개의 댓글