728x90
반응형

프로그래밍 지식 63

C++문법 / 포인터, 메모리 해제

포인터는 C에서도 배웠겠지만 값 자체가 아니라 값의 주소를 가지고 있는 변수다. 어려워하는 것은 이해가 가지만 배워보면 그냥 그렇다고 생각이 된다. 변수 -> 주소를 담는 변수 + 값을 담는 변수 다시 말해서 포인터는 주소를 담는 변수(장소) 변수는 값을 담는 장소 일반적으로 포인터변수는 주소를 저장하므로 흔히 주소를 알아내기 위해서 앰퍼샌드,&를 써서 해당 변수의 주소를 알아낸다. int donuts = 4; int* ptr = &donuts; //*은 포인터라는 뜻이다. //출력해보면 /* donuts ptr을 출력해보면 ptr의 가지고 있는 주소 값이 아니라 가리키고 있는 값을 출력하고 싶을 때가 있다. 그렇다면 ptr 자체를 출력하는 것이 아니라 *ptr를 출력하면 ptr이 가리키고 있는 값이 출..

C++문법/ 열거체, Enum

const를 사용해서 기호 상수를 만드는 것 외에도 다른 방법을 제공한다. 새로운 데이터형을 정의할 수 있게 해주는 것이다. **다만 주 목적은 아니다. enum도 구조체 구문과 매우 흡사하다. enum spectrum { red, orange, yellow, green, blue, violet, indigo, ultraviolet }; 이렇게 수행하게 된다면 spectrum 이라는 새로운 데이터형을 만든다. **struct 뒤에 구조체의 이름이 나오는 것과 같다. -> spectrum 이라는 열거체라고 부른다. red, orange...의 순서대로 나온 것들을 순서대로 0부터 7까지 정수 값을 나타내는 상수로 만든다. -> red는 0이 된다. ultraviolet은 7이 된다. ** 명시하지 않았을 ..

C++문법/ 공용체, Union (메모리 절약 가능)

구조체랑 비슷하지만 다르다. 쉽게 말하자면 Type을 여러개 가지고 있는 변수라고 생각하면 되겠다. union one4all { int int_val; long long_val; double double_val; }; //구조체와 선언 방법이 비슷하다. 다만 one4all 이라는 공용체 자체는 한 번에 하나의 타입만 가질 수 있다. int의 값도 저장, long 값도 저장, double의 값도 저장하지만 한 번에 하나의 상태만 가진다. 이 공용체의 크기는 해당 타입 중에서 가장 큰 타입의 공간만큼 차지한다. long이 제일크다면 long의 크기를 가지는 공용체가 되는 것이다. **다시 말하면 이 공용체는 여러 가지 데이터를 쓰게되지만 이들을 동시에 사용할 일은 없을 때 메모리를 절약해주는 역할이다. 예를..

C++ 문법/ 변수, 배열 초기화 [C++]

1. 변수 초기화 C++ 11에서 허용되는 문법과 C++에 넘어오면서 일반적인 변수 초기화와 다른 점이 있다. //일반적인 초기화 int friends = 11; //C++ 에서 넘어온 초기화 int ex(101) ; //ex를 101로 초기화함 //C++11에서 초기화 (배열과 같이 중괄호를 사용) int milk = {11}; // 중괄호로도 바로 초기화 가능 int cheese{ 6 }; // =을 사용하지 않아도 된다. //만약 공백이면 0으로 초기화함 int books = { }; 이렇게 프로그래머에게 자유도를 높여준 것은 C++의 접근성을 높이기 위함이다. 2. 배열 초기화 ** 초기화 형식은 배열이 선언될 때 한다. int cards[4] = {3,6,1,2}; // 모든 원소 초기화 int..

람다 표현식,lambda expression [파이썬]

파이썬으로 코테를 진행하다보면 정말로 많이 쓰게 되는 것 중 하나이다. 그래서.. 맨날 찾아보는 것은 좀 그래서 각잡고 공부하려고 한다. 람다는 함수를 빨리 만드는 방법 중 하나다. def로 정의할 필요 없이 빨리 정의 된다. def func(x): return x + 100 func(1) ->101 100을 더하는 함수를 만드려면 저렇게 써야 한다. 뭐 나쁘진 않다. 만약 람다로 바꿔버리면??? lambda x: x + 100 1줄로 끝난다. 2줄이 1줄이 된다. 하지만 람다는 저렇게 쓰는 것이 아니다. 사실 일회용 함수의 색이 좀 짙다. 여러 번 재사용할 메서드가 아니라 잠시 동안만 쓸 메서드에 적용되는 성향이 좀 있다. 이것을 람다 호출이라고 말하는데.. 뭐 용어야 아무래도 좋다. 어떻게 쓰이는지 ..

Regular expression,정규표현식, 문자열파싱,처리 [Python]

코딩테스트에 등장해서 한 번 정리하려고 글을 써본다. 정규표현식은 정말 유용하며 코딩테스트의 문자열 처리 시 엄청나게 큰 도움을 줄 것이 분명하다. 전체를 아우르며 코딩테스트에 나오는 부분은 강조해서 정리해보겠다 깔고가는 기본 지식 메타 문자, meta characters . ^ $ * + ? { } [ ] \ | ( ) ** 문자열에 메타문자가 있을 시에는 특수 문자를 판단할 때는 특수 문자 앞에 \를 붙이면 된다. 1. 문자 클래스 [ ] -> "[ ] 사이의 문자들과 매치"를 의미 다시 말해서 [특정문자열들+조건], 특정문자열보다 범위를 판단할 때 많이 쓰임 **어떤 문자나 메타 문자도 사용할수 있지만 주의해야 할 메타 문자가 1가지 있다. 문자 클래스 안에 ^ 메타 문자를 사용할 경우 반대(not..

윈도우(WINDOWS)환경에서 Jekyll 작업환경 만들기

2021.01.13 글입니다. 먼저 다운로드를 해야겠죠?? 지킬을 사용하기 위해서는 루비를 실행해야하기 때문에 루비부터 다운받습니다. 아래의 링크를 통해 다운로드 받을 수 있다. rubyinstaller.org/downloads/ ** WITH DEVKIT, 개발자툴이 포함된 것을 다운받기를 바란다. 뭐 버전 이슈가 있을 수 있으니 이렇게 아래와 같이 버전을 추천해주죠?? 알아서 다운로드 받으면 됩니다. 모조리 Next눌러서 다운받으면 되겠다. 그렇게 다 다운받으면 요렇게 윈도우키 누르면 맨위에 최근 설치 목록에 이것이 뜬다. 실행해준다. 콘솔창이 왜나왔냐..? 맨날 하는 것 있잖아.. install 아래의 명령어를 통해 지킬 + 패키지를 설치해주자. gem install jekyll gem instal..

파이썬과 아나콘다 그리고 주피터노트북 Python & Anaconda, Jupyter Notebook; Window, 윈도우

이번엔 아나콘다로 개발환경(가상환경)을 만들어 보려고 합니다. + Jupyter notebook(주피터 노트북) 왠지는 몰라도 맨날 파이썬만 주구장창 개발합니다. 사실 Data Science에서는 이거 다 사용함 그래서 아나콘다를 한 번 깔면 잊어버리기 때문에 이렇게 기록을 남겨놓으려고 합니당 ㅎㅎ ++이렇게 써놓아야 뇌에서 지움. 보조기억장치에 저장해놔야 Memory Refresh를 할 수 있겠죠? www.anaconda.com/products/individual Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine..

[MySQL]ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

아니 이건 또 무슨 오류래?? YES는 비밀번호가 틀려서란다.. PASSWORD ERROR!!!! 요약하자면 내가 비밀번호를 이미 설정했는데 다른 root 비밀번호로 접근하려고 한 것이다. 생각해내자 예전 내가 했던 비밀번호를 !! 대부분 대충 1234로 짓는다.... ㅎㅎㅎ 진짜 DB 잘하는 사람이면 여기 들어오지도 않았을거니까!!! 엥??? 나 진짜 1234로 해놓음 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

728x90
반응형