본문 바로가기

프로그래밍 언어38

C/C++ fprintf() 스트림에 형식 문자열 쓰기 #include int fprintf(FILE *stream, const char *format-string, argument-list); 형식 문자열 format-string을 넘겨 받아, 출력 stream에 문자열을 쓴다. 이때 출력 문자열과 argument-list는 printf() 함수와 같은 형식이다. 매개변수 FILE *stream : 형식 문자열을 쓸 파일 포인터 const char *format-string : 형식 문자열 argument-list : 형식 문자열에 사용할 인자 반환값 함수 호출이 성공한 경우 쓰여진 문자의 개수가 출력, 에러가 발생한 경우 음수가 반환 코드 예시 #include int main(void) { int i, j; FILE *stream = fopen("mydi.. 2021. 7. 4.
메모리 영역 출력해서 알아보기 프로그램을 실행하면 운영체제는 메모리 공간을 제공하며, 메모리 공간은 낮은 주소부터 코드 영역, 데이터 영역, 힙 영역, 스택 영역을 할당한다. 코드 영역(code segment, text segment or text) 프로그램의 코드가 저장되는 영역이며, CPU는 코드 영역에 저장된 명령어를 가져와서 실행한다. 데이터 영역(data segment, or .data) 전역 변수(global variable)와 정적 변수(static)가 저장된다. 프로그램이 시작할 때 할당되며, 프로그램이 종료하면 소멸한다. 힙 영역(heap) 사용자(코드 작정자)가 메모리 공간을 동적으로 할당하고 해제한다. 힙 영역은 낮은 주소에서 높은 주소로 할당한다. 스택 영역(stack) 함수 호출과 함께 할당되며, 함수 호출이 .. 2021. 6. 28.
C++ 변수 초기화 방법 C++에서 변수를 초기화하는 방법은 세 가지가 존재한다. int width = 5; 2021. 6. 10.
C++ enum class와 enum C++의 enumeration에는 크게 enum class와 enum이 있다. enum class는 scoped enum이라 하며, C와의 호환을 위해 unscoped enum인 enum이 있다. user-defined type이다. enum class는 ::을 이용해 값을 가져온다. enum class가 더 안전하다. enum class Vehicle { Car, Bike, Truck }; Fruit suv_vehicle = Vehicle::Car; #include enum class Race { Dinan, Teklan, Ivyn, Moiran, Camite, Julian, Aidan }; int main() { Race race = Race::Teklan; switch (race) { case Ra.. 2021. 6. 10.
C++ range-based for loop C++ range-based for loop에 대해 알아본다. #include int main() { unsigned long maximum = 0; unsigned long values[] = { 10, 50, 20, 40, 0}; for (unsigned long value : values) { if (value > maximum) maximum = value; } printf("The maximu value is %lu", maximum); return 0; } for loop을 이용한 코드는 아래와 같다. #include #include int main() { unsigned long maximum = 0; unsigned long values[] = { 10, 50, 20, 40, 0}; for.. 2021. 6. 10.
파이썬 리스트와 튜플의 차이점 리스트(list) 자료형은 값을 변경시킬 수 있지만, 튜플(tuple)은 값을 변경시킬 수 없다. main.py lst = [1, 2, 3, 4, 5] lst[1] = 6 print(lst) [1, 6, 3, 4, 5] tuple.py tupledata = (1, 2, 3) tupledata[1] = 4 Traceback (most recent call last): File "", line 1, in TypeError: 'tuple' object does not support item assignment 또한, 튜플은 괄호를 제거하고 선언할 수 있으며, 하나의 원소만 선언할 때는 끝에 콤마(comma)를 붙여야 한다. tuple2.py tupledata = 1, 2, 3, 4 t2 = (1, ) 2021. 4. 24.
파이썬 PIL과 matplotlib을 이용해 이미지를 읽고 쓰기 test.py # PIL module to read and save an image. from PIL import Image import matplotlib.pyplot as plt # Opening image and converting it into grayscale. img = Image.open('image2.png').convert('L') # convert PIL Image object to numpy array img = np.array(img) # We process img_grayscale and obtain img_processed img_processed = image_processing(img) # Converting ndarray to a PIL Image. img_out = Ima.. 2021. 4. 21.