Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #robots.txt #검색엔진노출
- #FAT파일시스템 #파일시스템구조 #파일시스템 #Forensic #정보보안 #IT
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #C동적메모리할당 #malloc #메모리
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #Call by value #Call by reference
- 포렌식 #사이버포렌식 #Forensic #정보보안 #IT
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터와문자열 #c언어문자열
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터의포인터 #c언어2중포인터
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터배열 #c언어포인터 #포인터 #c포인터
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #xss #storedxss #CrossSiteScripting
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #commandinjection
- C언어 #C #C프로그래밍 #프로그래밍 #언어
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터 #c언어포인터연산
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #bruteFource #무차별공격
- 사이버포렌식 #포렌식 #FAT
- XSS #ReflectedXSS
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #PUT메소드 #PUT #HTTP메소드 #취약점
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #BrokenAuthentication
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #선택정렬 #선택정렬알고리즘
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #SQLi #TimeBaseSQLi #sqlinjection
- 파일시스템과파티션 #포렌식 #사이버포렌식 #Encase #Forensic #파티션 #파일시스템 #정보보안
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #CSRF #
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #포인터 #포인터변수 #c언어주소 #주소
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c배열포인터 #c언어포인터 #c언어배열포인터 #배열포인터
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #SQLi #sqlinjectioon
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #phpcodeinjection #injection
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT
- c언어문자열처리방법 #c언어문자열
- c언어malloc #동적할당 #c언어동적할당 #c언어malloc사용하기
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #로또번호생성 #로또번호만들기 #중복제거 #중복제거알고리즘
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c2차원배열동적할당 #c언어동적할당 #c동적할당 #c언어동적할당2차원배열
Archives
- Today
- Total
Hello Security World
C언어 [C언어 동적 메모리 할당 예제] 본문
C언어 동적 메모리 할당
예제1) 동적 메모리 할당 구현하기.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> #include <stdlib.h> //동적 메모리 할당 구현하기 int main() { int* pi; pi = (int *)malloc(sizeof(int)); //malloc -> 동적 메모리 할당 if(pi == NULL) //동적 메모리 할당에 실패하면 NULL을 반납함 { printf("동적 메모리 할당이 실패 하였습니다."); exit(1); } *pi = 100; printf("%d\n",*pi); free(pi); //반드시 FREE 를 사용하여 동적 메모리 할당 헤제 return 0; } |
예제2) 소문자 a~z 를 동적할당을 이용하여 대입하기.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <stdio.h> #include <stdlib.h> //동적 메모리 할당 danamic memory allocation 예제 2) //소문자 a~z 를 동적할당을 이용하여 대입하기 int main() { char* pc = NULL; //pointer char 변수 초기화 int i; pc = (char*)malloc(sizeof(char) * 100); // 동적 메모리공간 1byte 크기 100개 할당 if(pc == NULL) // 동적 메모리 할당이 실패하면 NULL 을 반납함 { printf("동적 메모리 할당 실패"); } for(i=0;i<26;i++) { *(pc+i) = 'a' + i; //자동 형 변환을 이용하여 'a' 의 값 == 97 을 i의 값 만큼 증가시킴 a~z대입 } *(pc+i) = NULL; // %s포맷의 끝을알려주기 위한 과정 printf("%s",pc); free(pc); //동적 메모리 할당 해제 } 실행결과 abcdefghijklmnopqrstuvwxyz |
예제3) 정수 대입하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <stdio.h> #include <stdlib.h> //동적 메모리 할당 danamic memory allocation 예제 3) //정수 5개 처리하기 int main() { int i,num; int* pi; pi = (int*)malloc(sizeof(int) * 5); //4byte 공간 5개 동적 메모리 할당. if(pi == NULL) //동적 할당이 실패하면 NULL을 반납함 { printf("동적 할당 실패"); } for(i=0;i<5;i++) //pi가 가르키는 값에 i를 대입 { *(pi+i) = i; } for(i=0;i<5;i++) { printf("[%d]",*pi+i); //pi 가 가르키는 '값' 출력 ***포인터 표기법*** } printf("\n"); for(i=0;i<5;i++) { printf("[%d]",pi[i]); //pi[i] 인덱스로 접근하여 출력 ***배열 표기법*** } free(pi); //동적 할당 해제 } 실행결과 [0][1][2][3][4] [0][1][2][3][4] |
'프로그래밍 > C' 카테고리의 다른 글
C언어 [C언어 2차원 배열 동적할당] (0) | 2020.05.03 |
---|---|
C언어 [C언어 포인터의 포인터] (0) | 2020.05.03 |
C언어 [C언어 배열 포인터] (0) | 2020.05.03 |
C언어 [C언어 포인터 배열] (0) | 2020.05.03 |
C언어 [C언어 문자열 처리 방법] (0) | 2020.05.03 |