반응형

IT 프로그래밍 376

포인터, 배열, 포인터 산수

배열과 포인터의 관계int a[10]; 이라는 배열이 있다고 가정을 합시다. 배열의 이름 a는 배열의 시작 주소를 저장하는 정수형 포인터 변수라고 생각을 해도 됩니다 ( 단 저장된 주소값을 변경할 수 없으니 int * const 타입이라고 생각하면 됩니다) 배열의 매개변수 예시 코드#include using namespace std;int calculate_sum(int* array);int main() { int sum; int num[10]; for (int i = 0; i > num[i]; sum = calculate_sum(num); double average = (double)sum / 10; cout  배열의 평균을 구하는 코드입니다. 배열이 매개변수로 넘어올 때 int array[] 대신 이..

포인터에 관한 기본적인 개념 설명 및 예제

포인터는 메모리 주소를 값으로 가지는 변수입니다. int * ptr;이런 식으로 구성이 되어 있습니다. 예제1#include using namespace std;int main() { cout 해당 코드는 sizeof를 판별하는 코드입니다. 포인터에 대한 개념을 개관적인 코드를 통해 이해할 수 있습니다.  예제2#include using namespace std;int main() { int* pt1, *pt2; int x = 3, y = 2; pt1 = &x; pt2 = pt1; y = *pt2;}포인터의 개념을 다루고 있습니다. int *pt1, *pt2; 두 개의 정수형 포인터를 선언하며 이 포인터들은 정수형 변수의 주소를 저장할 수 있습니다.  int x =3, y= 2; 두 개의 정수형 변수를 ..

HTTP, SSL 설명

HTTP란?하이퍼텍스트 전송 프로토콜로 하이퍼텍스트 링크를 통해 웹페이지를 로드하는 데 사용됩니다. 일반적인 흐름에는 클라이언트에서 서버에 요청해서 서버해서 보내주는 것입니다.  HTTP 요청에 들어있는 것 HTTP 버전 유형URLHTTP 메서드HTTP 요청 헤더선택 사항인 HTTP 본문이러한 요청 작동 방식과 요청 내용을 사용하여 정보를 공유합니다.  HTTP 메서드GET HOST 등을 통한 함수입니다. HTTP 요청 헤더Request Headers이며 method, path, autority 같은 것들이 포함되어 있습니다. SSL/TLS암호화 기반 인터넷 보안 프로토콜입니다. 인터넷 통신의 개인정보 보호, 인증, 데이터 무결성을 보장하기 위해 개발했으며 현재의 TLS 암호화의 전신입니다.  HTTPS..

DNS란? 용어 정리 DNS쿼리 8단계

DNS란?도메인을 숫자로 변경시켜 주는것인데요. 풀명칭은 Domain Name System입니다. 인터넷의 전화번호부라고 보시면 됩니다. 인터넷 리소스를 로드할 수 있도록 도메인 이름을 ip주소로 변환합니다. DNS의 용어 정리DNS 리커서도서관 어딘가에 있는 특정 책을 찾으러 가는 사서로 비유할 수 있습니다. 웹 브라우저 같은 애플리케이션을 통해 클라이언트 시스템으로부터 쿼리를 수신하도록 설계된 서버입니다. 루트 네임서버호스트 이름을 IP주소로 변환하는 첫 번째 단계입니다. 이는 다양한 책꽂이를 가리키는 도서관의 색인처럼 생각할 수 있습니다. TLD네임서버도서관의 특정 책 랙으로 생각할 수 있습니다. 이 이름 서버는 특정 IP 주소 검색의 다음 단계이며 호스트 이름의 마지막 부분을 호스팅합니다. 권위있..

OSI 7계층

7계층 아키텍처가 있는데 이것이 협업을 하여 전 세게 한 사람에게서 다른 사람에게 데이터를 넣습니다. 이것은 전문적인 네트워크 기능을 수행하기 위해 7개의 레이어가 나누어져 있어 네트워크에 체계적으로 접근이 가능하도록 만들어진 것입니다. 물리계층 - 계층1한 노드에서 다음 노드로 개별 비트를 전송하는 역할을 합니다. 수신된 신호를 가져와서 0 과 1로 변환을 한 다음에 데이터 링크 계층으로 보내 프레임을 다니 결합합니다. 물리 계층의 기능-비트 동기화-비트 전송률 제어-물리적 토폴로지-전송모드  데이터 링크 계층(DLL) - 계층2오류가 없는지 확인하는 과정입니다. 메세지의 노드 간 전달을 담당하며 패킷이 네트워크에 도착하면 MAC 주소를 사용하여 호스트에 패킷을 전송하는 것이 DLL의 책임입니다. 데이..

컴퓨터 네트워크의 작동 방식

기본방식노드와 링크입니다. 네트워크 노드는 모뎀, 라우터 등과 같은 데이터 통신을 위한 장비 또는 두 대 이상의 컴퓨터를 연결하는 데이터 터미널의 장비이며 링크는 전선이나 케이블, 무선 트워크의 여유 공간으로 정의할 수 잇습니다. 노드는 네트워크에 연결된 장치며 서버, 프린터, 라우터, 스위치 등 기타 장치의 집합이라고 보면 됩니다. 노드가 서버다 컴퓨터다 라우터다 이렇게 하나의 특별한 용어로 지칭하는 것이 아닌 이러한 집합입니다. 프로토콜은 규칙입니다. 컴퓨터에는 규칙이 있는데 컴퓨터에서는 tcp/ip, http, ftp 같은 규칙을 통해 주고받아야합니다. 토폴로지는  노드의 물리적, 논리적 배열을 나타냅니다. IP주소는 장치를 식별해주는 고유한 숫자 식별자입니다. DNS는 사람이 읽을 수 있는 도메인..

CPU 및 메모리에 대한 설명

CPUCPU는 컴퓨터의 두뇌로 간주되며 모든 유형의 데이터 처리 작업을 수행합니다. 데이터, 중간 결과, 명령어 를 저장합니다. CPU 내에서도 메모리 저장 장치가 있습니다. 반환된 값의 중간 결과를 저장하기 위해 내부 저장 장치가 있으며 이것을 RAM이라고 칭합니다. 즉 CPU에 내장되어 있는 RAM이 존재한다는 것입니다.  메모리의 기능은 모든 데이터와 지침을 저장, 중간 결과를 저장, 최종 처리 결과를 저장합니다. 캐시메모리는 단시간 내에 실행할 수 있는 프로그램을 저장하며 빠릅니다. 하지만 용량이 제한되어 있으며 이는 굉장히 비쌉니다.  메모리주메모리(RAM)데이터, 프로그램, 프로그램 결과를 저장하는 CPU 내부의 RAM입니다. 용량이 제한되어 있어서 전원을 끄면 데이터가 손실이 됩니다. 흔히 ..

IT 프로그래밍 2024.08.21

동적 메모리 할당

변수를 선언하는 대신 프로그램의 요청으로 메모리를 할당할 수 있습니다. 이것을 동적 메모리 할당이라고 부릅니다. malloc 함수를 호출하여 동적메모리할당을 요청하면 요구하는 크기의 메모리를 할당하고 그 시작 주소를 반환합니다.  #include int main(void){ int* p; p = (int*)malloc(40); if (p = NULL) { /* 동적 메모리 할당이 실패*/ /* 적절한 조치를 취한다*/ } p[0] = 12; p[1] = 24; *(p + 2) = 36;}malloc이 반환하는 주소는 타입이 없는 주소(void *)입니다. 정수들을 저장하기 위해서 이것을 int * 로 변환합니다. 할당받을 메모리의 크기를 byte단위로 지정합니다. 여기서는 10개의 정수를 저장하기 위..

컴퓨터 메모리, CPU 기본 구조

컴퓨터에는 버스가 있습니다. address bus - control bus - data bus 이런 식으로 되어 있습니다.  이 때, 임의 접근이 가능하도록 만들어진 구조이기 때문에 주소가 왔다갔다 하는 통로와 데이터가 왔다갔다 하는 통로가 분리가 되어 있습니다.메모리는 CPU한테 메모리를 보내주는 것, 혹은 데이터를 받아서 저장하는 것 이 두가지 일을 합니다. 위의 세가지 버스는 CPU와 RAM 사이에 연결되어 있습니다.  CPU의 기본 구조 컴퓨터의 구조라던지 작동 원리에 관심을 갖는 것은 더 좋은 프로그램을 만들기 위함입니다. 그것을 위해서는 CPU의 성능을 알아야 합니다. 만약 여러분들이 프로그램을 만든다면 그것은 보조기억장치에 기억이 됩니다. 그리고 운영체제에 부탁을 하는 것인데요. 운영체제가 ..

C언어를 알기 전에 기초적인 컴퓨터 구성 요소 설명

C언어를 알기 전에 기본적으로 알아야 하는 첫 번째 단계는 바로 입력이 어떤 것이고 출력이 어떤 것인지 분석을 해봐야 합니다. 그래야 유기적으로 해당 내용을 이해할 수 있고 하드웨어 부분을 알아야 소프트웨어에서의 에러를 발견했을 때 올바른 조치를 할 수 있습니다. 컴퓨터 구성요소 입력장치 - 컴퓨터본체 - 출력장치 이렇게 크게 나눌 수 있습니다. 중앙처리장치CPU입니다. 전반적인 연산을 담당합니다. 컴퓨터의 계산의 핵심적인 역할을 합니다.  주기억장치CPU가 처리하는 내용을 가져오는 것입니다. 우리가 흔히 메모리라고 부르는 것입니다. 주 기억장치는 전원을 끄면 해당 내용이 사라집니다.  RAM(Random-Access Memory) 이라고 부르며 전원을 끄면 데이터가 사라집니다. 보조기억장치파일을 기억을..

반응형