본문 바로가기

온라인 멘토와 함께하는 공부/인공지능92

[ChatGPT] GPTs, 크로키 크로키 GPT 사용자가 자신이 필요한 챗봇을 만들어 사용할 수 있는 GPT가 GPT의 복수 GPTs입니다. 제가 사용하는 '크로키'는 연필 스케치 챗봇입니다. 음악가 스케치 악성으로 불리는 베토벤을 그리게 했습니다. '작곡하는 베토벤' 프롬프트로 그려진 결과입니다. 모차르트도 그렸습니다. 같은 프롬프트를 사용했는데 피아노를 연주하는 모습을 그렸네요. 역사적 인물에 적용 현재 활동 중인 정치인은 그리기를 거부하군요. 대신 역사적 인물은 가능했습니다. '작곡하는 링컨'으로 완성된 크로키가 되겠습니다. 위 세 이미지는 컴퓨터에서 작성된 이미지입니다. 다음 채플린 이미지는 스마트폰에서 그렸습니다. 한 차원 업데이트된 ChatGPT 사용담이었습니다. 2023. 11. 26.
달라진 GPT, GPTs GPTs1년 전에 세상에 몸을 드러낸 OpenAI의 GPT는 몸집을 불리면서 새 경지로 접어들었습니다. GPTs는 '사용자'가 용도를 지정해서 활용할 수 있는 GPT 복수형입니다. 커스텀화 가능우설 공개된 GPTs는 OpenAI가 개발한 것들입니다. 개인 사용자도 자신의 필요에 의해 커스텀화가 가능합니다. 달리를 이용한 '선그림(線畵)'를 그려보도록 합니다. '조선시대 선비가 독서하는 모습'의 선그림을 요청했습니다.얼마 전까지는 이런 선그림이 쉽지 않았습니다. 프롬프트 의도가 잘 먹히지 않았는데 'ChatGPT'로 그림 그리는 달리가 들어오면서 프롬프트 정확성이 높아진 것입니다. 이런 요소들을 반영하면 '선그림'을 그리는 특화된 GPTs가 가능하겠네요. 2023. 11. 15.
[C언어] 포인터 배열과 배열 포인터를 함수 인자로 넘기는 예시 포인터 배열과 배열 포인터를 함수 인자로 넘기는 예시 포인터 배열을 함수 인자로 넘기기 포인터 배열을 함수에 넘길 때는 포인터의 배열이라는 것을 명확하게 해주어야 합니다. 아래 예시를 참고하시면 됩니다. #include void printPointerArray(int *arr[], int size) { for (int i = 0; i < size; ++i) { printf("%d ", *arr[i]); } printf("\n"); } int main() { int a = 1, b = 2, c = 3; int *ptrArray[3] = {&a, &b, &c}; printPointerArray(ptrArray, 3); return 0; } 배열 포인터를 함수 인자로 넘기기 배열 포인터를 함수 인자로 넘길 때.. 2023. 10. 27.
[C언어] 포인터 배열과 배열 포인터의 차이 포인터 배열과 배열 포인터의 차이 포인터 배열 (Array of Pointers) "포인터 배열"이란 포인터들로 이루어진 배열을 말합니다. 이 배열의 각 요소는 포인터 타입입니다. 예를 들어, 정수 포인터의 배열은 다음과 같이 선언할 수 있습니다. int *ptrArray[3]; 이 예에서 ptrArray는 정수 포인터 3개를 저장할 수 있는 배열입니다. 각 배열 요소는 정수를 가리키는 포인터입니다. int a = 1, b = 2, c = 3; ptrArray[0] = &a; ptrArray[1] = &b; ptrArray[2] = &c; 배열 포인터 (Pointer to Array) "배열 포인터"는 배열을 가리키는 포인터를 의미합니다. 배열 포인터는 배열의 첫 번째 요소를 가리키는 것이 아니라, 배열.. 2023. 10. 26.
[C언어] C언어에서의 배열 C언어에서의 배열 배열이란? 배열은 동일한 데이터 타입의 여러 변수를 연속적인 메모리 공간에 저장하는 자료 구조입니다. 배열을 사용하면 동일한 타입의 여러 데이터를 효율적으로 관리할 수 있습니다. 배열의 선언 배열을 선언할 때는 데이터 타입과 함께 대괄호 [] 안에 배열의 크기를 지정합니다. int arr[5]; // 크기가 5인 정수 배열 char str[10]; // 크기가 10인 문자 배열 배열의 초기화 배열을 선언과 동시에 초기화할 수 있습니다. int arr[] = {1, 2, 3, 4, 5}; char str[] = "hello"; 배열의 인덱싱 배열의 각 요소는 0부터 시작하는 인덱스로 접근할 수 있습니다. arr[0] = 1; arr[1] = 2; 배열과 반복문 반복문을 사용하여 배열의 요.. 2023. 10. 25.
[C언어] C언어에서의 포인터 개념 C언어에서의 포인터 개념 포인터란? 포인터는 메모리의 주소를 저장하는 변수입니다. 포인터를 사용하면 메모리를 효율적으로 관리하고, 다른 변수나 함수, 배열 등에 대한 레퍼런스를 쉽게 다룰 수 있습니다. 포인터의 선언 포인터를 선언할 때는 asterisk(*) 기호를 사용합니다. 예를 들어, 정수형 포인터와 문자형 포인터를 선언하는 방법은 다음과 같습니다. int *int_ptr; char *char_ptr; 주소 연산자와 간접 참조 연산자 주소 연산자 &: 변수의 메모리 주소를 반환합니다. 간접 참조 연산자 *: 포인터가 가리키는 주소에 저장된 값을 반환합니다. int a = 10; int *p = &a; printf("%d\n", *p); // 출력: 10 포인터와 배열 배열의 이름은 배열의 첫 번째 .. 2023. 10. 24.