목록PROGRAMMING::LANGUAGE (60)
Love Every Moment
1. 형식문자열(FORMAT) int printf(const char* format, ...) 형식문자열, 서식문자열 또는 포맷 이라고 부르며 출력하고자 하는 문자열 을 의미한다. printf() 는 표준출력(stdout)에 일련의 데이터들을 형식문자열(format)에 지정되어 있는 형태로 출력한다. 형식문자열 뒤에 오는 가변인자들의 개수는 형식 문자열 속의 형식 태그(format tag)의 개수와 같다. 2. 서식지정자(Format Specifier) % 문자로 시작하며 대표적으로 %d, %c, %s, %p 등이 있다. 컴퓨터가 어떤 정보를 어떻게 해석할 건지 지정해주는 역할을 한다. 예를 들어 printf("%d\n", 10); 이면 10을 부호 있는 10진수 정수로 해석하여 출력한다. 형식 태그 안..
1. leaks 명령어 (1) 파일 실행 중에 검사하기 main 문 안에 while 문을 사용하는 등의방법을 써서 프로그램이 종료되지 않도록 하고 컴파일 후에 ./a.out 으로 파일을 실행시키고 leaks a.out ※ 해당 방법으로 메모리 누수가 뜨지 않는 경우가 있어서 (2)번 방법을 추천 (2) 프로그램 내부에 leaks 명령어 삽입 main 문 안에 직접 삽입했기 때문에 프로그램이 종료되기 전에 검사 가능 system 명령어를 통해 쉘 명령어를 main 문 안에서도 사용할 수 있다. system("leaks a.out > leaks_result_temp; cat leaks_result_temp | grep leaked && rm -rf leaks_result_temp"); #include #in..
1. 댕글링 포인터란 malloc() 함수를 이용하여 동적 메모리를 할당한 후에는 free() 함수를 통해 할당된 메모리를 해제한다. 하지만 포인터가 여전히 해제된 메모리 영역을 가리키고 있을 때에 문제가 될 수 있다.이것을 댕글링 포인터라고 부른다. 2. 문제점 메모리 접근시 예측 불가능한 동작을 일으킬 수 있다. 메모리 접근 불가 시 Segmentation fault 가 발생한다. 잠재적인 보안 위험이 있을 수 있다. 3. 예제 int *ptr; ptr = (int *)malloc(sizeof(int)); *ptr = 1; printf("%d\n", *ptr); free(ptr); *ptr = 2; 처음에 *ptr 을 1 로 출력하고 나서 메모리를 해제해주었는데 ptr 은 여전히 처음 할당된 메모리 ..
1. 변수의 종류 (1) 지역 변수(Local Variable) 프로그램 내의 변수가 선언된 함수에서만 사용 가능한 변수 함수가 시작할 때에 메모리가 할당되고 함수가 끝날 때에 메모리가 해제됨 스택 영역에 저장되며 함수가 끝나면 자동 삭제됨 따라서 함수 실행이 끝나면 변수에 저장된 값은 사라짐 (2) 전역 변수(Global Variable) 함수 밖에서 선언되어 주어진 프로그램 내의 어느 함수에서나 사용 가능한 변수 프로그램이 시작할 때에 메모리가 할당되고 프로그램이 끝날 때에 메모리가 해제됨 컴파일 시간에 데이터 영역에 메모리를 할당하여 저장되며 프로그램이 끝나면 자동 삭제됨 따라서 프로그램이 끝날 때까지 변수 안의 값이 유지됨 (3) 정적 변수(Static Variable) 지역 변수의 특성과 전역 ..
컴퓨터 프로그래밍 코딩 교육컴퓨터 프로그래밍 코딩 교육 깃허브에 잔디도 심을겸 공부하면서 배운 내용들을 마크다운 문서로 업로드하려고 한다. 처음 레포지토리 생성할 때에 README.md 를 수정해본 이후로는 한번도 마크다운 문서를 작성해본 적이 없었다. 그래서 앞으로 학습 내용 정리시에 편리하게 참고하고자 간단한 마크다운 문법을 정리해보았다. 컴퓨터 프로그래밍 코딩 교육 1. 제목(Header) (1) 문서 제목 : 큰 제목 This is an H1. ============ (2) 문서 부제목: 작은 제목 This is an H2. =========== (3) 글머리: H1 부터 H6 까지만 지원 # This is an H1 ## This is an H2 ### This is an H3 #### This..
size_t 는 typedef 를 이용하여 정의한 하나의 별칭(alias)이다. typedef __darwin_size_t size_t; size_t가 정의되어 있는 를 보면 위와 같이 정의되어 있다. 이론상 가장 큰 사이즈를 담을 수 있는 '부호 없는(unsigned) 데이터 타입'으로 생각하면 된다. size_t 형 변수를 printf() 를 이용하여 출력하려면 %ld 또는 %zu 를 이용한다. unsigned int 와의 차이는 운영체제에 따라 사이즈가 변하는지 여부에 있다. size_t 의 경우에는 32비트 운영체제 아래에서 '부호 없는 32비트 정수(unsigned int)', 64비트 운영체제 아래에서 '부호 없는 64비트 정수(unsigned long long)'로써 고정된 사이즈를 가진다...
1. SELECT 명령 SELECT * FROM 테이블명 ; * (Asterisk): '모든 열'을 가리키는 예약어 SELECT 는 DML 에 속하는 명령의 종류 '질의(Query)' 라고도 불린다 하나 이상의 테이블·뷰로부터 원하는 데이터를 조회 2. DESC DESC 테이블명 ; 테이블에 어떤 열이 있는지 알 수 있음 SQL 명령의 종류가 아니라 mysql 클라이언트 명령어 (1) Field: 열 이름 (2) Type: 해당 열의 '자료형' (3) Null: NULL 값을 허용할 것인지 나타내는 '제약사항' (4) Key: 해당 열이 '키'로 지정되어 있는지 여부 (5) Default: 해당 열에 주어진 '기본값', 즉 생략되었을 경우 적용되는 값 3. 자료형의 종류 (1) INTEGER: 정수값을 ..
1. 클라이언트 사용하기 1) 명령 프롬프트 실행 2.1) mysql -uroot -p 비밀번호 입력하거나 2.2) mysql -uroot -p 입력 후에 Enter Password: 뜨면 비밀번호 입력 ※ root 라는 사용자는 MySQL 을 설치하면 자동으로 만들어진다 mysql 명령 실행하기: mysql -u [사용자명] -p [비밀번호] 2. 데이터베이스 덤프파일 복구하기 1) 명령 프롬프트 실행 2) mysql -uroot -p < 덤프파일명.dump Enter Password: 비밀번호 입력하기 Importing dump file: mysql -u [사용자명] -p 데이터베이스명 < 덤프파일명.dump 3. 데이터베이스 선택하기 1) 명령 프롬프트 실행하기 2) mysql 명령 실행하기 (1...