# Language

안녕하세요 허언증입니다. 구조체를 초기화 할때 사용하는 방법은 총 3가지! 1. ZeroMemory() #incldue void ZeroMemor(){ PVOID Destination, Size_T Length } Destination : 0으로 채울 메모리 시작 포인터 Length : 받는 포인터 크기 2. memset() #include void* memset(vodi* ptr, int value, size_t num) ptr : 채울 메모리 시작주소 value : 채우는 값 int 형이지만 u_char(1byte)로 변환되어 저장 num : 채우는 크기 3. Struct s = {0}; 어셈블리어 코드를 확인하면 차이는 없다 결국 memset() 호출해서 사용하기 때문에 ZeroMemory() v...
안녕하세요 허언증입니다. 주소를 표현하기 위해 사용하는 구조체 sockaddr_in 안에서 IP를 나타내기 위한 데이터 타입은 unsigned long형입니다. 그래서 IP주소 정보를 할당 하기 위해서 문자열의 "192.168.10.10"을 unsigned long 으로 바꿔주어야 합니다. 참고로 "192.168.10.10"의 표현방식은 Dotted-Decimal Notation 즉, 십진수 표현 방식 이라고 말합니다. 계산을 해서 unsigned long으로 바꿀 수 있지만 그렇게 할 필요가 없습니다. 바꿔주는 함수가 있기 때문이죠 이런 함수들을 인터넷 주소 조작 함수라고 하는데 이 함수들은 단순히 변환만 시켜주는게 아니라 바이트 순서를 바꿔주는 일도 해줍니다. 그럼 하나하나 살펴보겠습니다. 1. in..
안녕하세요. 허언증입니다. 객체, 변수, 배열, 문자열에 대해 포인터 관련 자료
안녕하세요. 허언증입니다. 포인터와 상당히 비슷하며, vector, deque, set, map, list등과 같은 컨테이너에 저장되어 있는 원소를 참조(접근)할 때 사용됨 (stack, queue에는 iterator가 없음) 반복자는 컨테이너와 알고리즘이 하나로 동작하게 묶어주는 인터페이스 역할을 한다. 사용예시 - vector::iterator i; - list::iterator i; - deque::iterator i; 특징 - 반복자는 컨테이너 내부의 원소(객체)를 가리키고 접근할 수 있어야 한다. (*연산자 제공 / ++연산자) - 반복자는 원소로 이동하고 컨테이너의 모든 원소를 순회가능 ( 제공, !=, == 비교 연산자 제공) 참고 : https://blog.naver.com/jhsh8788..
안녕하세요. 허언증입니다. enum 열거형 enum 을 선언한 상태입니다. 열거된 유형은 가능한 모든 값이 기호 상수로 정의되는 자료형입니다. 지금 같은 경우 SCISSORS 은 0값을 받고 ROCK 은 1 / PAPER 은 2을 받습니다. 처음 선언부 부터 0부터 차례로 상수값을 받습니다. 특정값을 정해 줘도 되지만 이때 주의할 점이 있습니다. 이 경우엔 ROCK에 5값을 입력했습니다. 그럼 0,5,1 이 되어야 하지만 PAPER은 6을 부여 받습니다. 최종 적으로 0,5,6 상수값을 부여 받은 것입니다.!!! 특정한 상태 집합을 나타내야 할 때 코드 문서화를 및 가독성 목적으로 매우 유용 보통은 bool 를 이용해서 true false로 받지만 enum를 이용해서 값을 지정해주고 판다할 때 유용하다...
안녕하세요. 허언증입니다. Rand() 함수는 난수를 발생 시킵니다. 난수는 seed 값에 따라 난수 값을 출력합니다 기본 seed값은 1로 설정되어 있고 1을 바꾸면 다른 기준으로 난수를 발생합니다. 다시 실행을 하더라도 저 값을 항상 출력합니다. 41 18467 6334 26500 19169 seed가 1기 때문이죠 그럼 이번엔 srand()함수를 이용해 seed값을 바꾸도록 하겠습니다. *time() 함수를 이용해서 시간으로 랜덤하게 부여함. srand() 함수로 난수를 지정 후 출력을 하면 고정값이 아닌 매번 다른 값으로 출력 하는걸 볼 수 있습니다. DEV++ 인경우 #include를 적어 줘야합니다. 비쥬얼스튜디오는 생략 가능하고 time()함수를 사용하기위해 #include 추가 해줘야 합니..
안녕하세요 허언증입니다. 참조자와 포인터의 차이점에 대해 설명 하도록 하겠습니다. 1.참조자란? 쉽게말해서 이미 선언한 변수에 다른 이름으로 또 선언을해서 사용할 때 사용합니다 int main(void){ int number1 = 10; int &number2 = number1; number2 =number2 + 10; cout
이론과 실습 사이
'# Language' 카테고리의 글 목록 (2 Page)