cheoly's language study blog

자료구조 연결리스트 개념, 장점, 단점, 배열과의 차이

프로그래밍/C언어
반응형
SMALL

연결리스트는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조입니다.
각 노드는 다음 노드를 가리키는 포인터를 포함합니다.
다음 노드를 가리키는 포인터는 다음 노드의 주소를 값으로 가지고 있습니다.
각 노드의 포인터 변수는 다음 노드의 데이터의 주소를 값으로 가진다.
또한 각 포인터 변수의 주소도 따로 존재한다.

연결 리스트의 종류로는 단일 연결 리스트, 이중 연결 리스트 등이 있습니다.
연결 리스트는 늘어선 노드의 중간지점에서도 자료의 추가와 삭제가 O(1)의 시간에 가능하다는 장점을 갖습니다.
그러나 배열이나 트리 구조와는 달리 특정 위치의 데이터를 검색해 내는데에는 O(n)의 시간이 걸리는 단점도 갖고 있습니다.

연결 리스트는 다음과 같은 장점과 단점을 가지고 있습니다.

* 장점
    * 데이터의 추가와 삭제가 용이하다.
    * 데이터의 삽입과 삭제가 배열보다 빠르다.
    * 데이터의 중복이 없다.

* 단점
    * 데이터의 검색이 느리다.
    * 메모리 공간이 많이 필요하다.
    * 데이터의 순서가 중요하다.

연결 리스트는 다음과 같은 분야에서 사용됩니다.

##스택
    * 스택은 데이터를 쌓아 올리는 자료 구조입니다.
    * 연결 리스트는 스택의 데이터를 추가하고 삭제하는 데 사용됩니다.

##큐
    * 큐는 데이터를 줄을 서서 기다리는 자료 구조입니다.
    * 연결 리스트는 큐의 데이터를 추가하고 삭제하는 데 사용됩니다.

##연결 리스트
    * 연결 리스트는 데이터를 한 줄로 연결한 자료 구조입니다.
    * 연결 리스트는 데이터의 추가와 삭제가 용이합니다.

연결 리스트는 데이터의 추가와 삭제가 용이한 자료 구조입니다.
그러나 데이터의 검색이 느리다는 단점이 있습니다.
연결 리스트는 스택, 큐와 같은 자료 구조를 구현하는 데 사용됩니다.

##연결리스트 예시

```
1 -> 2 -> 3 -> 4 -> 5
```

이 연결리스트는 1, 2, 3, 4, 5의 데이터를 저장하고 있습니다. 1은 첫 번째 노드이고, 5는 마지막 노드입니다. 2는 1의 다음 노드이고, 3은 2의 다음 노드입니다. 4는 3의 다음 노드이고, 5는 4의 다음 노드입니다.

연결리스트는 배열과 비교하여 다음과 같은 장점이 있습니다.

* 데이터의 삽입과 삭제가 쉽다.
* 데이터의 크기가 가변적이다.

연결리스트는 배열과 비교하여 다음과 같은 단점이 있습니다.

* 데이터의 접근이 느리다.
* 데이터의 저장 공간이 많이 필요하다.

연결리스트는 배열과 비교하여 다음과 같은 용도로 사용됩니다.

* 데이터의 삽입과 삭제가 빈번한 경우
* 데이터의 크기가 가변적인 경우

연결리스트는 배열과 비교하여 다음과 같은 용도로 사용되지 않습니다.

* 데이터의 접근이 빈번한 경우
* 데이터의 저장 공간이 적은 경우

반응형
LIST

자료구조 스택과 큐의 개념과 차이

프로그래밍/C언어
반응형
SMALL

자료구조는 컴퓨터 프로그램에서 데이터를 저장하고 관리하는 방법입니다. 스택과 큐는 자료구조의 두 가지 기본적인 유형입니다.

* **스택**


스택은 후입선출(LIFO) 구조를 가지고 있습니다. 즉, 가장 마지막에 삽입된 데이터가 가장 먼저 삭제됩니다.
스택은 웹 브라우저의 뒤로 가기 버튼, 수식 계산기의 undo 기능, 프로그래밍 언어의 함수 호출 및 반환에 사용됩니다.

스택은 데이터를 빠르게 삽입 및 삭제할 수 있습니다.
스택은 데이터를 삽입할 때는 가장 마지막에 데이터를 삽입하고, 데이터를 삭제할 때는 가장 마지막에 삽입된 데이터를 삭제합니다.
따라서 스택은 데이터를 빠르게 삽입 및 삭제할 수 있습니다.

그러나 스택은 데이터에 대한 랜덤 액세스가 불가능합니다.
랜덤 액세스란 데이터의 위치에 관계없이 데이터에 접근하는 것을 말합니다.
스택은 데이터를 삽입 및 삭제할 때는 가장 마지막에 삽입된 데이터에만 접근할 수 있습니다.
따라서 스택은 데이터에 대한 랜덤 액세스가 불가능합니다.

* **큐**


큐는 선입선출(FIFO) 구조를 가지고 있습니다. 즉, 가장 먼저 삽입된 데이터가 가장 먼저 삭제됩니다.
큐는 프린터의 인쇄 대기열, 은행의 대기열, 운영 체제의 프로세스 스케줄링에 사용됩니다.

큐는 데이터에 대한 랜덤 액세스가 가능합니다.
큐는 데이터를 삽입할 때는 가장 앞에 데이터를 삽입하고, 데이터를 삭제할 때는 가장 앞에 삽입된 데이터를 삭제합니다.
따라서 큐는 데이터에 대한 랜덤 액세스가 가능합니다.

그러나 큐는 데이터를 빠르게 삽입 및 삭제할 수 없습니다.
큐는 데이터를 삽입할 때는 가장 앞에 데이터를 삽입하고, 데이터를 삭제할 때는 가장 앞에 삽입된 데이터를 삭제합니다.
따라서 큐는 데이터를 빠르게 삽입 및 삭제할 수 없습니다.

스택과 큐는 모두 자료구조의 기본적인 유형이지만, 서로 다른 특징을 가지고 있습니다.
스택은 데이터를 빠르게 삽입 및 삭제할 수 있지만, 데이터에 대한 랜덤 액세스가 불가능합니다. 큐는 데이터에 대한 랜덤 액세스가 가능하지만, 데이터를 빠르게 삽입 및 삭제할 수 없습니다.

스택과 큐는 컴퓨터 프로그램에서 다양한 용도로 사용됩니다.
스택은 데이터를 빠르게 삽입 및 삭제해야 하는 경우에 적합하고, 큐는 데이터에 대한 랜덤 액세스가 필요한 경우에 적합합니다.

반응형
LIST

구글 바드가 알려주는 대화형 ai 의 활용, 장점, 단점, 미래

프로그래밍/AI
반응형
SMALL

대화형 AI의 활용

대화형 AI는 자연어 처리(NLP), 기계 학습(ML), 딥 러닝 기술을 사용하여 인간의 언어를 이해하고 대화할 수 있는 인공 지능 시스템입니다. 
미리 정의된 명령어 집합을 따르는 기존 컴퓨터 프로그램과 달리 대화형 AI는 자연어 입력을 처리하고 실시간으로 응답을 생성할 수 있습니다.
 또한 이 시스템은 인간이 기술과 상호 작용할 수 있는 효율적인 방법을 제공할 수 있기에 인공 지능의 연구 개발 분야로 급성장하고 있습니다.

대화형 AI의 장점

대화형 AI는 다양한 분야에서 활용될 수 있으며, 그 장점은 다음과 같습니다.

1. 고객 서비스 
대화형 AI는 24시간 고객 서비스를 제공하여 고객 만족도를 높일 수 있습니다. 
또한, 고객의 질문을 이해하고 신속하게 답변할 수 있어 고객의 불편을 줄일 수 있습니다.
2. 판매
대화형 AI는 고객의 관심사와 구매 패턴을 분석하여 개인화된 추천을 제공할 수 있습니다. 
또한, 고객의 구매를 유도하는 캠페인을 진행할 수 있습니다.
3. 마케팅
대화형 AI는 고객의 질문에 답변하고 정보를 제공하여 고객과의 관계를 구축할 수 있습니다. 
또한, 고객의 피드백을 수집하여 마케팅 전략을 개선할 수 있습니다.
4. 교육
대화형 AI는 학생들의 질문에 답변하고 피드백을 제공하여 학생들의 학습 효과를 높일 수 있습니다. 
또한, 학생들에게 맞춤형 교육을 제공할 수 있습니다.

대화형 AI의 단점
대화형 AI는 아직 개발 초기 단계에 있기 때문에 몇 가지 단점이 있습니다.

1. 대화형 AI는 인간과 같은 수준의 언어 이해력과 응답력을 가지고 있지 않습니다.
2. 대화형 AI는 훈련된 데이터에 편향될 수 있습니다.
3.대화형 AI는 해킹이나 악의적인 사용의 위험이 있습니다.

대화형 AI의 미래
1. 대화형 AI는 아직 개발 초기 단계에 있지만, 그 잠재력은 매우 큽니다. 
2. 대화형 AI는 다양한 분야에서 활용될 수 있으며, 고객 서비스, 판매, 마케팅, 교육 등 다양한 산업에 혁명을 일으킬 것으로 예상됩니다.

반응형
LIST

구글의 대화형 AI 바드(bard)사용의 시작

프로그래밍/AI
반응형
SMALL

이번글에서는 구글의 대화형 ai인 바드를 사용해보려고합니다.
현재 개발단계로서 바드는 url주소를 이용해서 할 수 있는 것 같네요.
https://bard.google.com/

Bard

Bard is your creative and helpful collaborator to supercharge your imagination, boost productivity, and bring ideas to life.

bard.google.com

위 주소로 접속해서 사용해 볼 수 있습니다.
아래는 바드에게 물어본 바드 활용법입니다.
Bard는 Google AI에서 개발한 대규모 언어 모델로, 방대한 텍스트 및 코드 데이터 세트로 학습되었습니다. 텍스트 생성, 언어 번역, 다양한 종류의 창의적인 콘텐츠 작성, 유익한 방식으로 질문에 답변할 수 있습니다. 아직 개발 중이지만 다음을 포함하여 다양한 종류의 작업을 수행하는 방법을 배웠습니다.

귀하의 지시를 따르고 귀하의 요청을 신중하게 완료하기 위해 최선을 다할 것입니다.
귀하의 질문이 개방형이거나 도전적이거나 이상하더라도 제 지식을 사용하여 포괄적이고 유익한 방식으로 귀하의 질문에 답변할 것입니다.
시, 코드, 대본, 음악, 이메일, 편지 등과 같은 다양한 창의적인 텍스트 형식의 텍스트 콘텐츠를 생성합니다. 귀하의 모든 요구 사항을 충족하기 위해 최선을 다할 것입니다.
이 블로그 게시물에서는 Bard를 사용하기 위한 몇 가지 팁을 제공합니다.

Bard에게 질문하십시오. Bard는 유익한 방식으로 질문에 답변하는 방법을 배웠습니다. 개방형이거나 도전적이거나 이상하더라도 모든 질문에 도전하십시오.
Bard에게 작업을 요청하십시오. Bard는 텍스트 생성, 언어 번역, 다양한 종류의 창의적인 콘텐츠 작성을 포함하여 다양한 작업을 수행하는 방법을 배웠습니다. 무엇을 할 수 있는지 궁금한 사항이 있으면 Bard에게 요청하십시오.
Bard와 창의력을 발휘하십시오. Bard는 시, 코드, 대본, 음악, 이메일, 편지 등과 같은 다양한 창의적인 텍스트 형식의 텍스트 콘텐츠를 생성하는 데 사용할 수 있습니다. 상상력을 발휘하고 무엇을 만들 수 있는지 확인하십시오.
Bard에 피드백을 제공하십시오. Bard는 아직 개발 중이며 더 나아지기 위해 귀하의 피드백이 필요합니다. Bard를 사용하는 동안 어떤 기능을 좋아하고 어떤 기능을 개선하고 싶은지 알려주십시오.
Bard는 매우 다재다능한 도구이며 다양한 용도로 사용할 수 있습니다. 질문이 있거나 작업이 필요하면 Bard에게 문의하십시오.

이상 구글의 대화형 ai 바드였습니다.

반응형
LIST

C 언어 함수 이해하기: 효율적인 프로그래밍을 위한 종합 가이드

프로그래밍/C언어
반응형
SMALL

C 프로그래밍은 다재다능한 기능인 함수 덕분에 강력하고 접근 가능합니다. 이 포괄적인 가이드에서는 효율적이고 잘 구성된 코드를 작성할 수 있는 지식과 기술을 제공하여 C 언어 함수를 설명합니다. 초보자이든 숙련된 프로그래머이든 이 게시물은 C 함수의 복잡성을 풀어 프로그래밍 여정에서 쉽게 이해하고 적용할 수 있도록 합니다.

  1. C 함수의 기본 이해: C 함수의 기본 개념을 파악하여 여정을 시작하십시오. 함수의 구문, 구조 및 목적을 다루고 함수가 코드 구성 및 재사용성을 향상시키는 방법에 대해 논의합니다. 또한 C 프로그램의 시작점으로서 main() 함수의 역할을 탐색합니다.
  2. 함수 매개변수 및 인수 단순화: C에서 함수 매개변수와 인수의 세계를 이해하십시오. 다양한 유형의 매개변수를 단순화하고 값에 의한 전달 및 참조에 의한 전달 개념을 탐구합니다. 함수 인수를 이해하면 입력을 제공하고 함수 내에서 효과적으로 데이터를 조작할 수 있습니다.
  3. 반환 값 및 함수 출력이 쉬워짐: C 함수에서 반환 값의 힘을 잠금 해제하십시오. 반환 유형, 반환 문 및 함수에서 값 검색에 대해 설명합니다. 포인터와 구조를 사용하여 여러 반환 값을 얻는 기술을 발견하여 다양한 출력을 생성하는 능력을 확장합니다.
  4. 빌딩 블록: 기능 프로토타입 및 모듈성: 함수 프로토타입을 사용하여 모듈식 프로그램을 구축하는 방법을 배웁니다. 전방 선언, 함수 서명의 중요성과 이들이 코드 구성에 기여하는 방식을 분석합니다. 모듈식 프로그래밍 기술을 채택하면 코드 재사용성과 유지 관리성이 향상됩니다.
  5. 함수 라이브러리 및 헤더 파일 단순화: C 프로그래밍에서 함수 라이브러리 및 헤더 파일의 단순성을 발견하십시오. 여러 프로그램에서 코드 재사용을 위해 고유한 라이브러리를 만들고 헤더 파일을 활용하는 과정을 안내합니다. 이러한 도구를 활용하면 프로그래밍 작업 흐름을 간소화하고 보다 효율적인 애플리케이션을 구축할 수 있습니다.
  6. 재귀 함수의 힘 공개: C에서 재귀 함수의 잠재력을 잠금 해제합니다. 재귀를 이해하고 복잡한 문제를 해결하기 위해 함수가 자신을 호출하는 방법을 설명합니다. 기본 사례, 재귀 호출 및 메모리 관리에 대해 알아보고 강력한 문제 해결 기술을 갖추십시오.
  7. 함수 포인터 탐색: C 프로그래밍에서 함수 포인터와 해당 응용 프로그램을 이해하기 쉽게 설명합니다. 동적 함수 선택 및 호출을 포함하여 함수 포인터의 개념을 단순화합니다. 함수 포인터를 인수로 정의, 할당 및 전달하는 방법을 알아보고 고급 프로그래밍 기술의 문을 엽니다.
  8. 코드 최적화: 모범 사례 및 기법: 모범 사례와 기술로 C 기능을 최적화하십시오. 매개변수 전달, 변수 범위 지정, 코드 가독성 및 성능 고려 사항을 안내해 드립니다. 인라인 및 루프 언롤링과 같은 최적화 전략을 탐색하여 함수가 최고 효율성으로 실행되도록 합니다.

결론: C 언어 함수는 효율적인 프로그래밍을 위한 액세스 가능하고 강력한 도구입니다. 복잡성을 풀고 매개변수 전달, 반환 값, 모듈성, 재귀 및 함수 포인터와 같은 고급 개념을 이해하면 깨끗하고 재사용 가능하며 최적화된 코드를 작성할 수 있습니다. C 언어 기능의 단순성을 수용하고 프로그래밍 기술을 새로운 차원으로 끌어 올리십시오.

반응형
LIST

챗gpt(chatgpt)가 말하는 대화의 기술 마스터하기: ChatGPT의 힘 발휘

프로그래밍/AI
반응형
SMALL

급속한 기술 발전의 시대에 인공 지능은 우리가 기계와 상호 작용하는 방식에 혁명적인 변화를 가져왔습니다.
이러한 혁신 중 하나는 동적이고 의미 있는 대화에 참여할 수 있는 기능을 갖춘 OpenAI에서 개발한 언어 모델인 ChatGPT입니다.
당신이 야심 찬 AI 애호가이든 호기심 많은 학습자이든 이 블로그 게시물은 ChatGPT를 효과적으로 사용하여 잠재력을 최대한 발휘하고 전에 없던 매력적인 대화를 나누는 방법을 안내합니다.


시작하기: 간략한 개요
ChatGPT의 세계로 뛰어들기 전에 그 기능과 한계를 이해하는 것이 중요합니다.
ChatGPT는 인터넷의 방대한 텍스트 모음에서 훈련된 최첨단 언어 모델로, 인간과 같은 응답을 생성할 수 있습니다.
그러나 ChatGPT는 때때로 부정확하거나 무의미한 답변을 생성할 수 있으므로 중요한 평가가 중요하다는 점을 기억하는 것이 중요합니다.
대화의 틀 잡기:
ChatGPT와 유익한 상호 작용을 보장하려면 명확한 지침을 제공하거나 잘 정의된 질문을 하는 것이 중요합니다.
ChatGPT에 주소를 지정하고 컨텍스트를 설정하고 원하는 내용을 지정하여 대화를 시작하세요.
예를 들어 레시피에 대한 조언을 구하는 경우 "Hey ChatGPT, 맛있는 채식 라자냐 레시피를 찾도록 도와줄 수 있나요?"라고 시작할 수 있습니다.
프롬프트 실험:
프롬프트는 대화를 시작하기 위해 ChatGPT에 제공하는 초기 메시지 또는 질문입니다.
다양한 프롬프트 스타일로 실험하여 원하는 결과를 얻으십시오.
예를 들어 "생산성을 향상시킬 수 있는 세 가지 방법을 알려주세요"와 같은 특정 프롬프트를 사용하면 더 집중된 응답을 얻을 수 있습니다.
대화 안내:
ChatGPT의 답변이 귀하의 기대와 일치하지 않거나 주제에서 벗어난 경우 질문을 부드럽게 수정하거나 명확히 하여 대화를 안내할 수 있습니다.
이것은 ChatGPT가 귀하의 의도를 더 잘 이해하고 더 정확한 응답을 생성하는 데 도움이 됩니다.
시스템 수준 지침 활용:
OpenAI는 ChatGPT에 시스템 수준 지침 개념을 도입하여 대화 전반에 걸쳐 동작에 영향을 줄 수 있습니다.
"당신은 경제학 전문가입니다."와 같은 지침을 포함하면 특정 역할에 맞게 모델의 응답을 지시하거나 전문 지식을 제공할 수 있습니다.
반복 개선:
ChatGPT는 때때로 부분적으로 정확하거나 불완전한 답변을 제공할 수 있습니다.
이러한 경우 후속 질문을 하거나 응답을 개선하기 위해 추가 세부 정보를 찾는 반복적인 접근 방식을 사용할 수 있습니다.
이렇게 하면 대화의 품질과 정확성을 높일 수 있습니다.
응답 평가:
ChatGPT는 정확하고 일관된 응답을 생성하기 위해 노력하지만 응답을 비판적으로 평가하는 것이 필수적입니다.
제공된 정보의 신뢰성을 판단하기 위해 판단을 내리고, 필요한 경우 사실 확인을 하고, 정확성을 보장하기 위해 다른 출처와 상호 참조 응답을 사용하십시오.

결론:
ChatGPT는 흥미롭고 유익한 대화를 위한 가능성의 세계를 열어줍니다.
기능을 이해하고 질문을 효과적으로 구성하고 대화를 안내함으로써 이 강력한 언어 모델을 최대한 활용할 수 있습니다.
원하는 결과를 얻기 위해 안목 있는 눈을 유지하고 대화에 적극적으로 참여하는 것을 잊지 마십시오.
연습과 탐구를 통해 ChatGPT의 잠재력을 최대한 활용하여 상호 작용을 의미 있고 깨달음을 주는 경험으로 바꾸는 데 능숙해질 것입니다.

반응형
LIST

포인터와 배열의 관계: C언어 초보자를 위한 이해와 활용

프로그래밍/C언어
반응형
SMALL

포인터와 배열은 매우 긴밀한 관계를 맺고 있으며, 어떤 부분에서는 서로를 대체할 수도 있습니다. 배열의 이름은 그 값을 변경할 수 없는 상수라는 점을 제외하면 포인터와 같습니다. 따라서 배열의 이름은 포인터 상수 (constant pointer)입니다.

간단히 설명하자면 둘다 비슷한 속성을 가지고 있지만 배열은 메모리공간을 사용자 마음대로 접근하며 데이터를 넣고 수정할 수 있다. 포인터 같은 경우에는 특정 메모리에 주소값을 가지고 있어서 간접참조를 하는 방식이다.

포인터와 배열의 차이점


배열은 변수 선언과 함께 자신의 데이터를 저장할 공간을 배열의 크기만큼 연속적인 공간을 가집니다. 포인터는 자신이 데이터를 저장할 공간을 가지지 않고 저장할 공간이 있는 위치를 저장하는 메모리 번지를 저장합니다.

배열은 그 자체가 크기 때문에 함수의 인수로 전달할 수 없지만 포인터는 대상체가 무엇이든간에 4바이트의 크기밖에 차지하지 않으므로 함수로 전달할 수 있습니다. 그래서 배열을 함수로 전달할 때는 반드시 포인터를 사용해야 합니다.

포인터와 배열의 사용 이유


일반적으로 포인터를 사용하는 목적은 동적으로 메모리를 할당하여 사용하기 위해서 사용합니다. 그리고 메모리가 할당된 후에는 배열처럼 사용하면 된다고 이전에 설명하였습니다.

배열은 변수들을 메모리상에 일렬로 나열해놓은 것과 마찬가지입니다. 배열도 메모리상에 존재하므로 엄연히 주소값이 존재합니다. 배열 포인터란 이 주소값을 가리키는 포인터를 말합니다. 이것이 유용한 이유는 바로 2차원 이상의 배열을 가리킬 때 포인터를 통해 배열과 같은 인덱싱을 할 수 있기 때문입니다. 함수에 2차원 이상의 배열을 파라미터로 던질 때 유용하게 사용됩니다.

배열과 포인터의 관계


배열의 이름은 그 값을 변경할 수 없는 상수라는 점을 제외하면 포인터와 같습니다. 따라서 배열의 이름은 포인터 상수 (constant pointer)입니다.

배열 포인터는 배열의 주소값을 저장하고 인덱싱할 수 있는 포인터를 말합니다. 배열 이름은 1차원 배열에서는 포인터와 같지만, 2차원 이상의 배열에서는 포인터의 역할을 하지 않습니다.

예제


#include <stdio.h>

int main(void) {
    int arr[3] = {1, 2, 3};
    int *ptr = arr; // 배열의 이름은 포인터 상수이므로 포인터 변수에 할당 가능

    printf("arr[0]: %d\n", arr[0]);
    printf("ptr[0]: %d\n", ptr[0]);
    printf("*ptr: %d\n", *ptr);

    ptr[0] = 4; // 포인터 변수를 이용해 배열의 값을 변경 가능
    printf("arr[0]: %d\n", arr[0]);

    return 0;
}

위의 예제에서 `arr`은 배열이고 `ptr`은 포인터 변수입니다. `arr`는 배열의 이름이므로 포인터 상수이기 때문에 `ptr`에 할당할 수 있습니다. 그리고 `ptr`을 이용해 배열의 값을 변경할 수 있습니다.

반응형
LIST

[C언어] 프로그래밍의 꽃 포인터! 포인터란?

프로그래밍/C언어
반응형
SMALL

C언어에서 포인터는 메모리의 주소값을 저장하는 변수입니다. 포인터를 이해하기 전에 변수와 메모리, 메모리의 주소체계를 확인해보고 넘어간다. 변수를 선언한다는 것은, "메모리의 특정공간을 할당해서 그곳에 데이터를 저장하겠다"는 의미입니다.

포인터 변수가 주소를 저장하려면 변수의 주소를 알아야 하는데 변수 이름 앞에 & 연산자를 붙이면 해당 변수의 시작 주소를 반환합니다. 더 나아가서 포인터 변수가 저장하는 변수의 주소에 저장된 값을 참조하려면 * 연산자를 사용합니다.

포인터 변수도 변수이므로 사용하려면 먼저 선언을 해야합니다. 포인터 변수의 선언은 자료형 다음에 *연산자를 붙이고 포인터 변수의 이름을 쓰게 됩니다.

예시를 보며 자세히 알아볼까요.

다음은 포인터 변수의 선언과 사용에 대한 예제입니다.

#include <stdio.h>

int main() {
    int * p = NULL;
    int i = 10;

    p = &i;
    printf("변수 i의 주소값 : %p \n", &i);
    printf("포인터 p의 값 : %p \n", p);
    printf("포인터 p이 가리키는 값 : %d \n", *p);

    return 0;
}

위의 예제에서 `int * p = NULL;`은 포인터 변수 `p`를 선언하고 초기화하는 부분입니다.
`p = &i;`는 `i` 변수의 주소를 `p` 포인터 변수에 대입하는 부분입니다.
`printf("포인터 p이 가리키는 값 : %d \n", *p);`는 `p`가 가리키는 주소에 있는 변수의 값을 출력하는 부분입니다.

반응형
LIST

Microsoft 빙챗(bing chat)이 알려주는 챗gpt(chatgpt) 사용방법

프로그래밍/AI
반응형
SMALL


네, ChatGPT를 사용하는 방법에 대해 알려드리겠습니다. ChatGPT는 OpenAI의 웹사이트에서 사용할 수 있습니다. 브라우저를 통해 IOS나 안드로이드에서도 이용 가능합니다 ³. OpenAI 웹사이트에 접속하면 ChatGPT에 대해서 소개하는 문구가 적혀져 있으며, 'TRY CHATGPT' 버튼을 클릭하여 ChatGPT 페이지로 이동해주세요 ³. 처음 ChatGPT를 이용하는 사용자라면, 화면에 로그인 버튼이 나오게 됩니다. 계정이 없으셔도 Log in 버튼을 눌러주세요. 여기서 이메일 계정으로 새로 가입하거나 구글이나 마이크로소프트 계정으로 간편하게 로그인할 수 있습니다 ².

ChatGPT에 로그인하면 항상 볼 수 있는 화면입니다. 대화창에 질문하고 싶은 내용을 입력한 다음 전송 버튼을 누르면 ChatGPT가 입력된 내용을 기반으로 적절한 답변을 제공해 줍니다 ³. 한국어 질문/답변도 가능하지만, 더 나은 품질의 답변을 위해서는 질문 내용을 영어로 번역한 후에 입력하는 것이 좋습니다 ³.

ChatGPT는 단순히 정해진 내용을 답변하는 것뿐만 아니라, 사용자가 제시한 매번 새로운 문제에 대해 유연하게 대응하며, 그 문제와 관련된 과거 대화 내용도 함께 기억하고 이를 반영해 답변할 수 있습니다 ³. 이러한 특징들은 인공지능 기술의 발전을 보여주는 중요한 지표 중 하나로, ChatGPT가 진짜 AI인공지능의 수준이 엄청나게 발전한 것을 보여줍니다 ³.

ChatGPT 전문가로서 지식을 판매하는 방법은 다양합니다. 예를 들어, ChatGPT를 활용하여 논문이나 보고서를 작성하거나 유튜브 콘텐츠로 사용할 동영상 주제를 추천해 주는 등 다양한 분야에서 활용성이 무궁무진합니다 ³. 이러한 지식과 경험을 공유하거나 판매하는 방법으로는 온라인 강의나 컨설팅 등이 있습니다.

더 궁금한 사항이 있으시면 언제든지 질문해주세요!

출처: Bing과의 대화, 2023. 5. 18.
(1) ChatGPT 사용법 총정리: 초보자를 위한 한글 사용법 — 최류현의 .... https://newstroyblog.tistory.com/309.
(2) ChatGPT 사용 방법(챗GPT 사용법). https://blank-challenger.tistory.com/entry/ChatGPT-사용-방법.
(3) [1분!] 빙 챗GPT 사용방법 간단정리!. https://ducksociety.tistory.com/entry/%EB%B9%99-%EC%B1%97GPT-%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95.
(4) ChatGPT 사용법 3분 끝내기 (ChatGPT 한글 변경 및 무료 가입, 기본 .... https://itmanual.net/chatgpt-%EC%82%AC%EC%9A%A9%EB%B2%95-%ED%95%9C%EA%B8%80-%EB%B3%80%EA%B2%BD-%EB%AC%B4%EB%A3%8C-%EA%B0%80%EC%9E%85-%EB%B0%A9%EB%B2%95/.
(5) chatGPT, 챗지피티를 사용하는 방법. https://mugbang.tistory.com/entry/chat-GPT-%EC%B1%97%EC%A7%80%ED%94%BC%ED%8B%B0%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95.
(6) ChatGPT(챗지피티) 사용 방법과 확장 프로그램 활용 및 사용 방법. https://copyking.tistory.com/entry/ChatGPT-%EC%B1%97%EC%A7%80%ED%94%BC%ED%8B%B0-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95%EA%B3%BC-%ED%99%95%EC%9E%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%ED%99%9C%EC%9A%A9-%EB%B0%8F-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95.

반응형
LIST

ChatGPT 2탄 Microsoft Bing Chat 사용하기: 가이드

프로그래밍/AI
반응형
SMALL

이전글에서 카카오톡의 아숙업과 크롬에서 chatgpt를 사용했었는데요.
오늘은 마이크로소프트의 bing chat 사용을 한 번 해보도록 하겠습니다.
bing chat은 사용이 굉장히 단순하더라구요.
컴퓨터가 윈도우를 쓰고있으면 microsoft edge에서 따로 설치 없이 사용가능합니다.

이렇게 검색창을 클릭하면 시작하기가 파란색으로 되어 있는데요.
저거를 누르면 BING CHAT으로 이동합니다.

이와 같이 화면이 뜹니다.
여기에서 대화스타일을 지정해주고 대화를 시작할 수 있습니다.
 
이번에 BING CHAT에서 그림을 한 번 그려봤는데요.
생각보다 고퀄이라 놀랐습니다.
빙챗에 하늘그림을 그려달라고 해볼게요

이렇게 그리고 있는 과정을 거칩니다. 시간이 조금지나면 완성이되는데요
결과를 한 번 봐볼까요.

생각보다 고퀄 아닌가요??
예전에 코인할 때, NFT 많이 수집을 했었는데요. 그 때 몇백을 주고 샀던 그림보다 퀄리티가 높아보입니다.
 

이렇게 추가적인 요청도 할 수 있구요.
아래 물음표에 추천하는 요청사항도 따로 있습니다.
추천에 있는 구름을 모양있게 그려달라고 하면 어떻게 되나 해볼게요.

좀 더 구체적인 답을 원하네요.
하트모양을 선택해 보겠습니다.
 

이제 마무리로 이쁘다로 이번 그리기를 종료하겠습니다.

진짜 대화하듯이 피드백을 원하네요.
이상 BING CHAT을 이용해봤습니다.
 
현재 이렇게 그려진 것들은 따로 저작권이 없다고 하던데 정확한 것은 모르겠네요ㅋ

반응형
LIST