Automotive/C 3

[C/C++] 포인터 배열 및 복잡한 함수 포인터

포인터 배열배열의 요소로 포인터 변수를 가지는 배열 -> 포인터 변수로 이루어진 배열아래와 같이 선언한다.int num1 = 1, num2 = 2, num3 = 3;int *arr[3] = {&num1, &num2, &num3};포인터 배열의 주소 연산포인터 배열의 주소 또한 연산이 가능하다. 주소 값을 곱하거나 나눌 수 없으므로 주소 연산은 덧셈과 뺄셈만 가능하다.#include int main() { int values[] = {10, 20, 30, 40, 50}; // 정수 포인터 배열 선언 int* pointers[5]; // 포인터 배열에 주소 지정 for (int i = 0; i 더보기더보기포인터 변수로 선언 후 주소 연산, 주소 출력 위해 (void*)로 타입 캐스..

Automotive/C 2024.09.10

[C/C++] 문자열 포인터

문자열C에는 문자열이 없고, string 자료형이 내부적으로 구현되어있는데 이는 char의 배열로 이루어져있다.string은 아래와 같이 사용하고, 저장된다.string s = "Hello"Hello\0이 코드에서 s는 "Hello"가 시작하는 첫 글자인 H가 위치한 메모리주소를 주소값으로 갖는다.s는 첫 글자가 저장된 메모리 주소를 가지고 있고, 널이 나올 때 까지 루프를 돈다즉 문자열은 포인터변수라고 보면 된다. typedef char *string;String은 내부적으로 char의 포인터 변수로 정의 되어있으며, 라이브러리를 사용하지 않는다면 아래와 같이 사용할 수 있다.char *s = "hello";char[6] s = {'h','e','l','l','o','\0'}; 문자열 포인터# incl..

Automotive/C 2024.07.26

[C/C++] Pointer 및 Const

Pointer 란?메모리의 주소값을 저장하는 변수로 주소의 시작 주소 1바이트만을 가리킴 -> int(4 Byte)의 포인터도 1Byte아래와 같이 사용한다.타입 * 포인터변수;int a = 10;int* p = &a;Pointer 연산자1.주소 연산자 &2.참조 연산자 *Const 란?변수를 상수 취급 하게 만들며, 이렇게 const를 사용하여 상수화 된 변수는 변경이 불가능하다.  상수 또는 const 상수 라고도 하며, 이는 포인터에서도 동일하게 사용할 수 있고, 위치에 따라 의미를 다르게 사용할 수 있다. 선언할 때 동시에 값을 지정해야하며, 이후에는 수정 불가하다. Const를 사용하는 이유주로 변수의 초기값을 수정하지 않아야 할 때 값을 고정하기 위해 사용 Const 사용 방법int a = 1..

Automotive/C 2024.07.24