C++기초

220325(4)_memset, memcpy

2022. 4. 5. 16:57
#include <iostream>


int main()
{
	//memset : 메모리를 내가 원하는 크기만큼 원하는 값으로
	//채워주고자 할 때 사용한다.
	//**단, 1바이트 단위로 값을 채워준다.**
	int NumberArray[10] = { 1,2,3,4,5 };

	//1번인자 : 메모리 주소
	//2번인자 : 채워줄 값
	//3번인자 : 채워줄 메모리 크기
	memset(NumberArray, 1, sizeof(int) * 10);
	//NumberArray 배열을 4*10(40byte)만큼 1로 채워라.
	//이상한 값이 출력된다
	//왜냐하면 int는 4byte 단위로 숫자를 읽는데, 
	//memset은 1바이트 단위로 1을 넣기 때문이다.

	//선생님은 일반적으로 배열을 0으로 초기화하는데 쓴다고 함


	//memcpy : 메모리를 복사할 때 사용한다.
	int NumberArray1[10] = {};

	//1번인자 : 메모리 주소
	//2번인자 : 복사할 값
	//3번인자 : 복사할 메모리 크기
	//1번인자의 주소에 2번인자의 주소로부터 3번인자의 크기만큼을 복사한다.
	std::cout << "복사 전 : ";
	for (int i = 0; i < 10; ++i)
	{
		std::cout << NumberArray1[i];
	}
	memcpy(NumberArray1, NumberArray, sizeof(int) * 10);
	std::cout << "\n복사 후 : ";
	for (int i = 0; i < 10; ++i)
	{
		std::cout << NumberArray1[i];
	}
	//C++의 엄청난 장점. 메모리를 고속으로 복사하기 때문에 속도가 매우 빠르다.
	//memset, memcpy 매우 중요!!

	return 0;
}

'C++기초' 카테고리의 다른 글

220328(2)_파일 입출력(2)_파일 읽기  (0) 2022.04.05
220328(1)_파일 입출력(1)_ 파일 쓰기  (0) 2022.04.05
220325(3)_문자열(String)  (0) 2022.04.05
220325(2)_Define  (0) 2022.04.05
220325(1)_함수(4)_함수의 재귀(Recursion)  (0) 2022.04.05
'C++기초' 카테고리의 다른 글
  • 220328(2)_파일 입출력(2)_파일 읽기
  • 220328(1)_파일 입출력(1)_ 파일 쓰기
  • 220325(3)_문자열(String)
  • 220325(2)_Define
hyrule
hyrule
hyrule
C++ 프로그래밍 공부
hyrule
전체
오늘
어제
  • 분류 전체보기 (205)
    • C++기초 (50)
    • WIN32API FrameWork (109)
      • 한단계씩 직접 구현 (82)
      • 원본 (15)
      • 코드별 설명 개별저장(검색용) (12)
    • 자습 (21)
    • C++ TIPS (11)
    • 연습 노트 (3)
    • ETC (6)
    • DX2D StarCraft 모작 (1)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • hello
  • notion
  • C++
  • Windows 11
  • 스타크래프트
  • Tistory

최근 댓글

최근 글

hELLO · Designed By 정상우.
hyrule
220325(4)_memset, memcpy
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.