728x90

티스토리챌린지 7

[C언어] qsort() 함수란?

`qsort()` 함수는 배열의 요소들을 정렬하기 위해 사용되는 범용적인 함수이다. 표준 라이브러리 ``에 정의되어 있으며, 다양한 데이터 타입을 정렬할 수 있는 장점이 있다. 이 함수는 퀵 정렬 알고리즘을 기반으로 구현되었다. 사용법void qsort(void *base, size_t num, size_t size, int (*compare)(const void *, const void *));매개변수`base` : 정렬할 배열의 시작 주소를 가리킨다. 이 매개변수는 배열의 첫 번째 요소를 가리키며, `void*` 타입으로 정의되어 있어 다양한 데이터 타입을 처리할 수 있다.`num` : 배열의 요소 개수를 나타낸다. 몇 개의 요소를 정렬할지 알려주는 역할을 한다.`size` : 각 요소의 크기를 바이..

C언어 2024.11.18

srand() 함수란?

srand() 함수는 C언어에서 난수 생성의 시드를 초기화하기 위해 사용되는 함수이다. 이 함수는 표준 라이브러리 에 정의되어 있으며, rand() 함수를 사용할 때 더 나은 난수 분포를 위해 종종 함께 사용된다. 사용법#include int main(void) { int seed = ??; // 시드 값 srand(seed);}  왜 사용할까?C언어에서 난수를 생성할 때는 rand() 함수를 사용한다. 하지만 rand() 함수는 동일한 시드 값에서 호출될 때 항상 동일한 수열을 반환하게 된다. 프로그램을 매번 실행할 때마다 다른 난수를 얻고 싶다면, 초기 시드 값이 달라야 한다. 여기서 srand() 함수가 필요한 것이다. srand() 를 통해 시드를 설정함으로써, 프로그램이 매번 다른 난수 수열을 ..

C언어 2024.11.15

BAM(Broadcast Announce Message)란?

BAM은 차량 내 여러 전자제어장치(ECU)들 사이에서 큰 데이터를 전송해야 할 때 사용되는 메시지이다. 이 메시지의 주요 특징은 브로드캐스트 방식으로 데이터를 보내기 때문에, 특정 수신자를 지정하지 않고 네트워크에 있는 모든 ECU가 해당 데이터를 수신할 수 있다는 점이다. 즉, 데이터가 네트워크 상에 공개적으로 전송되며, 필요한 ECU는 해당 데이터를 받아 활용할 수 있다. 이런 방식은 특히 PGN 60416으로 지정된 대량 데이터 전송에서 사용되며, 이 경우 데잍는 여러 개의 패킷으로 나뉘어 전송된다. 이를 통해 차량 내 다양한 시스템이 동시에 동일한 데이터를 효율적으로 받을 수 있게 된다. BAM의 주요 역할대용량 데이터 전송: J1939에서는 일반적으로 하나의 메시지로 전송할 수 있는 데이터가 ..

자동차-통신 2024.11.14

티스토리 기본모드 수식 삽입

1. 수식을 이미지로 변환하여 삽입하기가장 간단하면서 보편적인 방법은 수식을 이미지로 변환해서 삽입하는 것이다. 이 방법을 사용하면 HTML이나 스크립트를 사용하지 않고도 깔끔하게 수식을 표현할 수 있다. 2. 외부 이미지 URL 사용하기Codecogs와 같은 수식 생성 도구는 수식을 URL 형태로 제공하기 때문에, 이를 티스토리에 삽입하는 방법도 있다. 이미지 URL을 사용하여 수식을 직접 삽입할 수 있다. 3. MathJax 스크립트를 사용하여 수식 렌더링하기티스토리 블로그의 기본 모드에서는 JavaScript와 같은 스크립트를 추가하는 것이 제한적이지만, HTML 편집 모드를 사용하면 MathJax 스크립트를 통해 수식을 렌더링할 수 있습니다.그리고 수식을 작성할 때는 $...$(인라인 수식) 또는..

C언어 2024.11.13

[C언어] OOP 공부 (1)

OOP(Object-Oriented Programming, 객체 지향 프로그래밍)은 프로그램을 여러 객체로 구성하여 개발하는 프로그래밍 패러다임이다. 각 객체는 데이터(속성, 변수)와 동작(메서드, 함수)을 포함하고 있어, 현실 세계의 개체를 모델링하고 이해하기 쉽게 만들어준다. OOP의 주요 개념객체(Object): 프로그램 내에서 실제로 동작하는 데이터와 기능의 단위이다. 예를 들어, 자동차 프로그램에서는 Car라는 객체를 만들고, 이 객체가 속도, 연료량과 같은 속성과 주행, 정지와 같은 동작을 포함할 수 있다.클래스(Class): 객체를 정의하는 청사진(템플릿)이다. 객체를 생성하기 위한 구조로, 속성과 메서드를 정의한다. 예를 들어, Car 클래스는 모든 자동차 객체가 따라야 할 속성과 메서드를..

C언어 2024.11.12

코드로 보는 수학 : 선형 보간법

선형 보간법이란?선형 보간법(linear interpolation)은 두 개의 알려진 값 사이에 위치한 어떤 지점의 값을 예측하는 방법이다. 간단히 말해, 두 점을 직선으로 연결하고 그 직선 위의 특정 위치에서 값을 찾는 것이다. 이 방법은 두 점 사이의 관계가 선형적일 때 매우 유용하다.선형이란 무엇인가?'선형'이라는 용어는 일직선 형태로 변화하는 관계를 의미한다. 즉, 두 변수 사이에 일정한 비율로 변화가 일어나면 선형적이라고 할 수 있다. 예를 들어, 온도가 시간에 따라 꾸준히 증가하거나 감소하는 경우, 그 관계를 선형적이라 할 수 있다. 선형 관계에서는 그래프가 직선의 형태를 가지며, 모든 점들이 직선 위에 위치한다.선형 보간법에서 사용하는 선형 관계는 이러한 두 점 사이에 존재하는 직선적인 변화..

[C언어] strcmp() 함수

strcmp() 함수는 C 프로그래밍 언어에서 문자열을 비교하는 함수이다.이 함수는 표준 라이브러리 에 정의되어 있다. #include int strcmp(const char *str1, const char *str2);매개변수str1, str2 : 비교할 문자열이다. 기능두 문자열 str1과 str2를 인자로 받아, 사전적으로 문자열을 비교한다. 두 문자열이 동일한지, 혹은 어느 쪽이 더 큰지(ASCII 코드 값에 따른 순서)를 판단한다. 반환값0 반환 : 두 문자열이 같을 때 반환된다.음수 반환 : str1이 str2보다 사전적으로 앞설 때 반환된다.양수 반환 : str1이 str2보다 사전적으로 뒤에 있을 때 반환된다.여기서 사전적으로는 ASCII 코드 값에 따라 정렬된 순서를 비교한다는 뜻입니다...

C언어 2024.11.07
728x90