C언어/참고서: C언어 콘서트

C언어 47차시 배열과 포인터, cpu, hdd, ssd, memory

Olivia-BlackCherry 2023. 4. 6. 12:56

목차

    1.포인터 복습 

    int *a;

    a의 값에 대한 포인터를 설정한다.

     

    *a=10;

    a의 값은 10이다.

     

    printf("%d", a);

    a를 출력하면 a가 저장되어 있는 위치 주소가 나오고

     

    printf("%d", a*);

    a*를 출력하면 a의 값이 나온다. =10

     

     

    2. 배열과 포인터

    배열의 이름을 정수 형식으로 출력하면, 배열의 첫 번째 요소의 주소와 같다 

    곧 배열 이름 그 자체가 포인터이다. 

     

    다시 말해, 포인터를 배열처럼 사용할 수 있다. 

    포인터를 이용하여 각 원소에 접근할 수도 있다.

    <예시코드>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <math.h>
    int main(void)
    {
    	int a[] = { 1,2,3,4 };
    	int * p;
    	p = a;
    	printf("a[0]=%d, a[3]=%d\n", a[0], a[3]);
    	printf("p[0]=%d, p[3]=%d", p[0], p[3]);
    
    	return 0;
    }

    >>결과값

    a[0]=1, a[3]=4
    p[0]=1, p[3]=4

     

     

    이전의 포인터와 다르게 배열같은 포인터는 자료형과 관계없이 +1씩 이동한다.

    <예시코드2>

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <math.h>
    int main(void)
    {
    	int a[] = { 1,2,3,4,5,6,7,8,9,10 };
    	int * p=&a[0];
    	printf("p의 값은 이제=%d\n", *p);
    	p++;
    	printf("p의 값은 이제=%d\n", *p);
    	p++;
    	printf("p의 값은 이제=%d\n", *p);
    	
    	return 0;
    }

    >>p의 값은 이제=1
    p의 값은 이제=2
    p의 값은 이제=3

     

     

    3.  CPU, memory, hdd, ssd

     

    CPU

    memory: 주기억장치, RAM:::::::CPU와 hdd/ssd 통신 연결! 

    hdd, ssd: 보조기억장치

     

    메모리(RAM), 중앙 처리 장치(CPU), 하드 디스크 드라이브(HDD) 및 솔리드 스테이트 드라이브(SSD)는 컴퓨터 시스템의 다양한 구성 요소입니다. 이들 간에는 몇 가지 중요한 차이점이 있습니다.

    메모리(RAM): 

    메모리는 컴퓨터가 프로그램과 데이터를 실행하는 동안 일시적으로 저장하는 공간입니다. RAM은 빠른 읽기/쓰기 속도를 가지고 있어 CPU가 데이터에 빠르게 접근할 수 있습니다. 그러나 RAM은 컴퓨터의 전원이 꺼지면 데이터가 손실되기 때문에 영구적인 데이터 저장에는 사용되지 않습니다.

    중앙 처리 장치(CPU): 

    CPU는 컴퓨터의 두뇌로서, 프로그램의 명령을 실행하고 데이터를 처리하는 역할을 합니다. CPU는 컴퓨터의 성능과 속도에 큰 영향을 미치며, 다양한 속도와 핵의 수 등의 사양이 있습니다.

    하드 디스크 드라이브(HDD):

     HDD는 컴퓨터의 영구적인 데이터 저장 장치로서, 회전하는 디스크와 그 위에 데이터를 기록하는 헤드로 구성되어 있습니다. HDD는 비교적 저렴하고 큰 저장 용량을 가지고 있어 대용량 데이터 저장에 많이 사용되지만, 상대적으로 느린 읽기/쓰기 속도를 가지고 있습니다.

    솔리드 스테이트 드라이브(SSD): 

    SSD는 전자적으로 데이터를 저장하는 플래시 메모리 칩으로 구성되어 있습니다. HDD에 비해 빠른 읽기/쓰기 속도를 가지고 있어 빠른 데이터 접근이 필요한 경우에 많이 사용됩니다. 또한 SSD는 HDD에 비해 높은 내구성과 낮은 발열을 가지고 있습니다. 그러나 SSD는 일정한 수명이 있고, 가격이 비교적 높은 편입니다.

    요약하자면, 메모리는 일시적인 데이터 저장 공간이며 빠른 읽기/쓰기 속도를 가지고 있습니다. CPU는 컴퓨터의 처리 장치로서 프로그램을 실행하고 데이터를 처리합니다. HDD는 큰 저장 용량을 가지고 있지만 비교적 느린 읽기/쓰기 속도를 가지고 있고, SSD는 빠른 읽기/쓰기 속도와 내구성이 높지만 일정한 수명과 비교적 높은 가격을 가지고 있습니다. 따라서 메모리, CPU, HDD, SSD는 각각 컴퓨터 시스템의 다양한 부분에서 다른 역할을 수행하며, 서로 다른 특성을 가지고 있습니다. 이를 고려하여 컴퓨터 시스템을 구성하고 사용하는 것이 중요합니다.