Programming Language 21

[C++] 문자열 정리

string 헤더 #include 🌀 선언 및 초기화 예시 //생성과 동시에 초기화 string str1 = "Hello World!"); string str2("Hello World!"); //생성한 후 초기화 string str3; str3 = "Hello World!"; //다른 문자열로 초기화 string str4(str3); 🌀 멤버함수 문자열의 문자 접근 string str = "Hello World!" // 배열처럼 Index로 접근 str[0]; // 'H' 반환. 반환된 문자는 char형 str.at(0); // 'H' 반환. 반환된 문자는 char형 // 맨 앞 문자 반환 str.front(); // 맨 뒤 문자 반환 str.back(); 문자열의 길이 반환 string str = "H..

[C#] Boxing & Unboxing

Boxing : 값 형식을 object 형식 또는 이 값 형식에서 구현된 임의의 인터페이스 형식으로 변환하는 프로세스 int i = 123; object o = i; Unboxing : object 형식에서 값 형식으로 변환하는 프로세스 (변환할 타입을 명시적으로 지정해야 함) o = 123; i = (int)o; //unboxing Generic에서의 Boxing 과 Unboxing - 객체를 만들 때 명시한 자료형을 넣을 수 있음 - System.Collections.Generic.List 같은 Generic Collection을 사용하면 값 형식의 boxing을 방지할 수 있음. - 다형성을 적용하여 명시한 자료형의 하위 클래스도 업캐스팅 하여 넣을 수 있음 (참조형으로 바꿀 때에는 boxing이 ..

[C] open(), close()

open() 함수 🌀헤더 파일 및 함수 #include #include #include int open(const char *pathname, int flags, [mode_t mode]); 🌀설명 : 파일을 읽거나 쓰기 위해 열거나, 빈 파일을 생성하고 파일 지시자를 반환함. 🌀인자 - pathname : 파일의 이름 또는 경로 - flags : 파일의 열기 모드 - mode : 파일의 접근권한 🌀반환 - 파일지시자 - 오류가 발생하면, -1 🌀인자 flags - fcntl.h 헤더 파일에 정의된 다음 플래그들을 OR 비트연산자와 함께 사용할 수 있음 O_RDONLY 읽기만을 허용 O_WRONLY 쓰기만을 허용 O_RDWR 읽고 쓰는 것을 허용 O_APPEND 파일의 기존 내용을 이어서 확장 O_CRE..

[C] 파일

파일 파일은 컴퓨터 등의 기기에서 의미 있는 정보를 담는 논리적인 단위 🌀 일반파일 - 텍스트 파일, 이진 파일 등을 포함 - UNIX 계열의 운영체제에서 파일의 확장자는 특별한 의미가 없음 - 파일의 입출력은 커널 단계에서 버퍼링 작업을 함 (디스크의 여러 부분에 분리/저장되어 있는 데이터를 하나의 파일로 연결된 것처럼 함) - 파일 내부에 저장되는 데이터의구조는 운영체제에 의해 제어되는 것이 아닌, 처리하는 프로그램에 따라 제어됨 🌀 디렉토리 - UNIX 계열의 운영체제에서 디렉토리는 파일의 한 종류임 - 디렉토리는 파일의 목록을 저장하는 파일 - 디렉토리는 파일을 포함하며, 하위 디렉토리 또한 포함할 수 있음 - 디렉토리는 일반 파일과는 다른 개념이지만, 읽을 때는 일반 파일과 동일하게 취급함 - ..

[C] Make

위와 같이 여러개의 소스 파일로 구성된 프로그램이 있을때, 한개의 소스파일을 수정하면 모든 파일을 다시 컴파일하고 링크해야 수정이 반영된 새 실행 파일이 생성된다. 즉, 파일을 하나만 수정해도 모든 파일을 다시 컴파일 해야한다😭 Make는 수정된 소스 파일만 자동으로 알아내어 컴파일하고, 수정하지 않은 파일은 기존 오브젝트 파일을 그대로 이용하게 해주는 유틸리티 툴이다. Makefile 이란? target, dependency, command의 세 개로 이루어진 기본적인 규칙들이 계속적으로 나열되어 있는 텍스트 파일 주의사항 👉 의존 관계의 각 요소를 구분하는 데에 콤마(,)를 사용하지 않고, 공백( )을 사용함❗️ 👉 명령을 입력하기 전에 반드시 항상 tab 구분자를 입력해야 함 (스페이스는 안됨) 👉..

[C] 오버플로우 언더플로우

저장할 수 있는 범위를 넘어서면 최솟값부터 다시 시작 최솟값보다 작아지면 언더플로우(underflow)가 발생하여 최댓값부터 다시 시작 dojang.io/mod/page/view.php?id=32 C 언어 코딩 도장: 7.2 오버플로우와 언더플로우 알아보기 만약 정수 자료형에서 저장할 수 있는 범위를 넘어서면 어떻게 될까요? 다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요. integer_overflow.c #include int main() { char num1 = 128; // char에 저장할 수 dojang.io

[C] main함수 인자

보통 main함수에 매개변수는 잘 사용하지 않지만, 경우에 따라서 int main(int argc, char const *argv[])라는 형태로 사용된다. 위와 같이 main함수의 인자로 다른 타입의 변수를 넣으면 안된다❗️ 정해져 있다. int main(int argc, char const *argv[]) int argc는 argument count로 매개변수의 수를 뜻한다. 우리가 넘겨줘야하는 값이 아니라 인자로 들어오는 개수를 스스로 counting한다. #include int main(int argc, char* arr[]) { printf("argc = %d\n",argc); printf("%s", arr[0]); } arr배열의 0번째 인덱스에는 항상 실행경로가 들어가 있다. 따라서 프로그램..

반응형