728x90

2024/11/04 3

[C언어] NULL과 null

NULL, NULL pointer, NULL character 등을 보며 어떤 블로그에는 null, 어떤 블로그에는 NULL으로 나와 있어서 NULL와 null에 대한 의문이 생겼다. NULL와 null에 대해서 알아보자. NULL표준에 정의된 매크로 상수로, 포인터가 유효한 주소를 가리키지 않는다는 것을 나타내는 특별한 값이다. 보통 #define NULL ((void*) 0) 형태로 정의되며, 주로 포인터가 특정한 값을 가리키지 않을 때 사용된다. nullC언어에는 null이라는 키워드나 상수가 없다. null이라는 이름은 C언어에서 사용하려고 하면 컴파일 오류가 발생한다.하지만 개념적으로 "널"을 의미하며, 코드 내에서 직접 사용되는 것이 아니라 설명이나 문서에서 사용된다. 널 포인터(null po..

C언어 2024.11.04

[C언어] Call by Value, Call by Reference란?

Call by Value, Call by Reference는 함수 호출 방식의 두 가지 방법으로, 함수에 전달되는 매개변수가 원본 데이터에 영향을 미치는지 여부에 따라 구분된다. Call by Value ( 값에 의한 호출 )함수에 매개변수의 값을 복사하여 전달한다.함수 내부에서 매개변수의 값을 변경해도 원본 데이터에는 영향을 주지 않는다.C언어에서는 기본적으로 Call by Value 방식이 사용된다.#include void add_ten(int num) { num += 10; printf("Inside function: %d\n", num); // 20}int main() { int x = 10; add_ten(x); printf("After function call: %..

C언어 2024.11.04

프리패칭(Prefetching)이란?

프리패칭이란, CPU가 메모리에서 데이터를 필요로 하기 전에 미리 데이터를 가져와 캐시에 저장하는 기술이다. 이를 통해 데이터를 실제로 필요로 할 때 메모리 접근 지연을 피하고, CPU가 기다리지 않고 빠르게 작업을 이어갈 수 있게 된다. 즉, 프리패칭은 데이터를 사전에 준비하여 CPU 대기 시간을 줄이는 기법이다. 프리패칭은 보통 순차적인 메모리 접근 패턴이 있을 때 효과적이다.센서 데이터 처리그래픽 렌더링통신 패킷 처리프리패칭을 사용하면 CPU 대기 시간을 감소시켜 전반적인 성능을 향상시킬 수 있다. 그러나 잘못된 예측으로 불필요한 데이터를 미리 가져오게 되면, 오히려 캐시 오염이 발생하여 성능이 저하될 수 있다. 임베디드 시스템에서는 자원이 한정적이기 때문에, 프리패칭의 예측 정확성을 높이는 것이 ..

CS 2024.11.04
728x90