OneDev
close
프로필 사진

OneDev

github: @ws1811

  • 분류 전체보기 (98)
    • Language (42)
      • C (30)
      • C++ (6)
      • JAVA (6)
      • Python (0)
    • 자료구조&알고리즘 (16)
      • BOJ (8)
      • 프로그래머스 (8)
    • WEB (12)
      • HTML (6)
      • jQuery (4)
      • Spring (1)
      • React (1)
    • 네트워크 (1)
      • SOAP (0)
    • Linux\Git (5)
    • DB\SQL (9)
      • SQL(Oracle) (6)
      • MongoDB (1)
      • PL\SQL (0)
    • Exceptions\Errors (3)
    • 기타 (10)
      • Club K-MOOC 서포터즈 (8)
      • 기타 (1)
  • 홈
  • 태그
  • 방명록
[C] #pragma(pack, once, warning)

[C] #pragma(pack, once, warning)

◎ #pragma 란? #pragma 는 컴파일러에게 특정 작업을 수행하도록 지시한다 #pragma 는 C 언어의 기본 키워드라고 보긴 힘들고, 컴파일러에 종속적인 키워드라고 보는 것이 맞지 싶다. pragma를 사용하는 문법은 컴파일러 마다 다르고, 딱히 통일된 것이 없기 때문이다 #pragma 가 컴파일러에게 어떤 작업을 지시하는지는 #pragma 뒤에 오는 키워드에 따라 결정되는데, Microsoft Visual Studio 기준으로는 다음과 같은 것들이 있다 각각의 키워드들에 대한 설명은 아래 링크를 참조하세요. https://learn.microsoft.com/ko-kr/cpp/preprocessor/pragma-directives-and-the-pragma-keyword?view=msvc-17..

  • format_list_bulleted Language/C
  • · 2023. 8. 14.

[C] volatile 키워드

◎ volatile 키워드 해당 변수를 최적화에서 제외 하도록 명령하는 키워드 외부 하드웨어와 통신할 때 주로 사용된다 "volatile" 이란 단어는 "변덕스러운" 이라는 의미를 가지고 있는데, 변덕스럽게 변할 수 있는 값들에 대해 최적화 작업을 수행하지 말라고 컴파일러에게 명령한다고 생각하면 이해가 쉬울듯 하다 ◎ syntax volatile 키워드 사용을 위한 구문은 매우 간단한데, 변수 앞에 volatile 키워드를 붙여주기만 하면 된다 > #include typedef struct SENSOR { /* 감지 안되면 0, 감지되면 1 이다.*/ int sensor_flag; int data; } SENSOR; int main() { volatile SENSOR *sensor; // 컴파일러는 더이..

  • format_list_bulleted Language/C
  • · 2023. 8. 14.
[C] typedef 키워드

[C] typedef 키워드

1. typedef 선언 이란? typedef 선언이란 typedef를 스토리지 클래스로 사용하는 선언으로, 선언자는 새 형식이 된다 typedef 선언을 사용하여 C에서 이미 정의된 형식이나 사용자가 선언한 형식에 대한 보다 짧거나 의미 있는 이름을 생성할 수 있다 (특정 형식에 대한 별칭 부여) 불필요한 타이핑을 줄이고 소스코드 작성의 효율을 올려준다 배열, 구조체, 열거형, 함수 등에도 사용 가능하다 2. typedef 선언 방법 → typedef 선언 방법은 다음과 같다 > typedef struct Human human → 구조체 [struct Human] 을 [human] 으로 대신 부르겠다는뜻 /* 다양한 typedef 사용 예시 */ #include int add(int a, int b) ..

  • format_list_bulleted Language/C
  • · 2023. 8. 14.
[C] 24. 매크로 함수 & 인라인(inline) 함수

[C] 24. 매크로 함수 & 인라인(inline) 함수

※ 목차 ▣ 매크로함수 (0) 매크로 함수란? (1) 매크로 함수 정의 방법 (2) 매크로 함수와 실제 함수와의 차이점 (3) # 과 ## ▣ 인라인 함수 (1) 인라인 함수 정의 방법 (2) 인라인함수 vs 매크로함수 ▣ 매크로함수 0. 매크로 함수란? → C 에서 매크로 함수란 #define 전처리 지시자를 이용해 함수처럼 동작하는 매크로를 말한다 → 이러한 매크로를 "함수 같은 매크로(function-like-macro)" 또는 "매크로 함수" 라 한다 1. 매크로 함수 정의 방법 (예시) #define square(x) x*x 2. 매크로 함수와 진짜 함수의 차이점 → 매크로 함수의 동작 방식은 #define 문을 통한 치환과 동일하다 → 즉 매크로 함수는 컴파일 되기 전에 치환을 수행한다 #de..

  • format_list_bulleted Language/C
  • · 2023. 8. 10.
[C] memcpy

[C] memcpy

◎ memcpy 포함 헤더 : ( C++에서는 ) 메모리의 일부분을 복사한다 기본형 : void* memcpy(void* destination, const void* source, size_t num); soure 가 가리키는 곳 부터 num 바이트 만큼을 destination이 가리키는 곳에 복사한다 리턴값 : destination 단순히 이진데이터를 복사하는 함수기 때문에 destination 과 source 의 타입은 함수와 무관하다 source 의 널 종료 문자를 검사하지 않고, 언제나 정확히 num 바이트 만큼을 복사한다 오버플로우를 방지하기 위해 destination 과 source 가 가리키는 배열의 크기는 반드시 num 바이트 이상이어야 하고, 서로 겹치면 안된다 ( 만일 두 메모리 블록이..

  • format_list_bulleted Language/C
  • · 2023. 8. 1.

[C] 23. 메모리 동적 할당(Dynamic Memory Allocation) - malloc, free

◎ 동적 할당(Dynamic Memory Allocation) "동적 할당" 이란 → 프로그램이 실행단계에서(프로그램 실행중에) 사용할 메모리 공간을 직접 할당하는 것 컴파일 단계에서 메모리를 할당하는 정적(static) 할당과 비교된다 상황에 따라 원하는 만큼 메모리를 할당할 수 있고, 이미 할당된 메모리라 해도 크기를 조절할 수 있다 malloc 함수를 이용해 메모리를 할당하고, free 함수를 이용해 할당을 해제해줘야 한다 ◎ malloc, free 함수 에 정의되어 있다 ( 를 include 해줘야 한다) malloc 함수의 리턴형 : (void *) 형 malloc 함수를 이용해 메모리를 할당받은 메모리는 이후에 free 함수를 이용해 해제해주어야 한다 ( 해제하지 않을 시 메모리 누수 memo..

  • format_list_bulleted Language/C
  • · 2023. 7. 31.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (98)
    • Language (42)
      • C (30)
      • C++ (6)
      • JAVA (6)
      • Python (0)
    • 자료구조&알고리즘 (16)
      • BOJ (8)
      • 프로그래머스 (8)
    • WEB (12)
      • HTML (6)
      • jQuery (4)
      • Spring (1)
      • React (1)
    • 네트워크 (1)
      • SOAP (0)
    • Linux\Git (5)
    • DB\SQL (9)
      • SQL(Oracle) (6)
      • MongoDB (1)
      • PL\SQL (0)
    • Exceptions\Errors (3)
    • 기타 (10)
      • Club K-MOOC 서포터즈 (8)
      • 기타 (1)
인기 글
전체 방문자
오늘
어제
Copyright © one_dev 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바