일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- a tour of go
- JUCE 튜토리얼
- Nebula
- 리듬게임
- 운영체제
- C언어
- OS
- LOB
- C++ gui
- Docker
- C++ library
- tour of go
- 백준
- 알고리즘
- 코딩
- go
- JUCE라이브러리
- C++ gui 라이브러리
- C++
- 프로그래밍
- JUCE library
- BOJ
- gui
- 공룡책
- JUCE
- vim-go
- 자료구조
- go channel
- 연결리스트
- c++ heap
- Today
- Total
목록C언어 (6)
CafeM0ca
공유메모리는 프로세스가 메모리를 공유해서 쓰는 메모리다. 그럼 누가 메모리를 연결 시켜주는가? 이 문제는 통신 문제로 넘어가서 서버와 클라이언트의 관계에 놓인다. a프로세스가 공유메모리를 사용할 수 있도록 열어주고(서버) b프로세스가 공유메모리에 접근한다(클라이언트)장점: 자원을 공유해서 쓸 수 있다. (ex: 쓰레드) 단점: 같은 자원을 공유해서 쓰다 보니까 항상 경쟁 상태다. -> 교착 상태 발생 가능성 있음 잘 쓰면 금이고 잘못 쓰면 독이 되니 메모리 관리 잘 하면서 써야된다.공유메모리는 shm로 생겼는데 처음에 쉬므라 읽었는데 곰곰히 생각해보니 share memory로 읽는게 맞는 듯 하다.(shmget 쉐어 메모리 겟) 생성->첨부->사용->때어냄->제거 shmget(key_t,size,shmf..
모카가 시그마를 처음 배울 때, 시그마를 수식으로는 표현이 안되는데 C코드로는 표현이 가능하다. 가운데 문제를 식으로 표현 할 줄 몰라서ㅋㅋ.. 123456789101112131415161718#includeint main(){ int n; int binary=1; int sum[100]={0,}; int result=0; printf("n값: "); scanf("%d",&n); for(int i=1;i
int n1=10,n2=20;const int *p1 = &n1; // p1값 변화(o) / *p1값 변화(x)int const *p2 = &n2; // p2값 변화(x) / *p2값 변화(o)int * const p2==int const *p2 긴말없이 이렇게 알면 간단명료하다.p1의 값은 p1이 가르키는 주소.*p1의 값은 p1이 가르키는 주소의 값. 좀 더 이해하기 쉽게 접근하자면 왼쪽으로 읽는 방법이 있다.예를 들면 const int *p1 = &n1;에서변수 이름은 짜르고보자.const int **의 왼편에는 const가 없다. 그러므로 p1의 역참조값은 바뀔 수 있다.int의 왼편에는 const가 있다. 그러므로 p1이 가리키는 주소는 바뀔 수 없다. 좀 더 복잡한 선언을 보자.const in..
흔히 아는 카이사르 암호인데 +3이아니라 -3으로 짰다.a면 x, A면 X로 대응한다. 123456789101112131415161718192021222324252627282930#include#include #define END_ALF 26int main(){ unsigned char str[200]; fgets(str, 200, stdin); for (int i = 0; str[i]!='\n'; i++) { if (str[i] == ' ') printf(" "); else if (islower(str[i])) { //소문자인지 판단 if (str[i] - 3
30분만에 구현했다. 다른 사람이 어떻게 짯는지 관심 없어서 스택이랑 비슷하게 짜봤다.선형 큐 말고 환영 큐(원형 큐)로 짰다. 테스트 케이스를 안넣어봐서 잘 모르겠는데 뇌파일러로 굴려보면 제대로 짠거같다.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include typedef struct queue { int index; int head; int qsize; int arr[10000];}Queue; void Push(Queue * q) { int v; scanf("%d", &v); if (q->qsize == 10000) p..
구현하는데 있어서 별 어려움은 없다. 모카는 C++하던 습관 때문에 구조체 메소드로 만들려 했는데 C표준에서 거부하는거 같다. 유감.. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include typedef struct stack { int snum; int arr[10000];}Stack; int Empty(Stack * s) { if (s->snum == 0) //비어 있으면 0 return 0; else return 1; //차 있으면 1} int Top(Stack * s) { if (s->snum == 0) //최상단이 없으면 -1 return -1; ..