일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- Java
- 디자인 패턴
- redis
- mongoDB
- 자바
- Galera Cluster
- C
- Kafka
- JPA
- 네트워크
- Algorithm
- MSA
- 백준
- 운영체제
- 자료구조
- Heap
- IT
- design pattern
- OS
- react
- Data Structure
- 알고리즘
- 컴퓨터구조
- MySQL
- Proxy
- 파이썬
- JavaScript
- c언어
- spring webflux
- Today
- Total
목록c언어 (3)
시냅스
구조체 구조체는 여러 정보들을 한 데 묶어주는 역할을 한다. 기본적인 use case 는 아래와 같다. struct Person { // 구조체 char name[10]; // 구조체 멤버 int age; char address[100]; } /* struct Person { // 구조체 char name[10]; // 구조체 멤버 int age; char address[100]; } p1; 위와 같이 p1을 붙여 줄 경우 바로 p1이라는 변수를 선언한 것 */ struct Person p1; // 구조체 변수 선언 strcpy(p1.name, "김명수"); // 구조체 멤버에 값 할당 p1.age = 1; strcpy(p1.address, "서울특별시 강남구") typedef를 통해 struct 키워드..
restrict 포인터 메모리 접근에 관한 최적화 기능. Alias rule (메모리 상 같은 위치를 다른 변수로 나타낼 수 있는 규칙)에 부합하지 않는 명확한 상황이라고 판단되었을 때 메모리 위치를 확인하는 과정을 생략한다. 즉, restrict 키워드가 쓰여졌다면 각 변수가 같은 메모리 공간이 아니라는 것을 컴파일러에게 알려주는 것. restrict 키워드를 쓰기 이전 void increase(int *a, int *b, int *x) { *a += *x; // x를 역참조하여 가져온 값만큼 *a를 역참조하여 값을 증가시킴 *b += *x; // x를 역참조하여 가져온 값만큼 *b를 역참조하여 값을 증가시킴 } 아래와 같이 어셈블리어로 확인할 수 있다. restrict 키워드는 c99 표준으로 -st..
파일 모드 기능 설명 "r" 읽기 전용 파일을 읽기 전용으로 엽니다. 단, 파일이 반드시 있어야 합니다. "w" 쓰기 전용 새 파일을 생성합니다. 만약 파일이 있으면 내용을 덮어씁니다. "a" 추가 파일을 열어 파일 끝에 값을 이어 씁니다. 만약 파일이 없으면 파일을 생성합니다. "r+" 읽기/쓰기 파일을 읽기/쓰기용으로 엽니다. 단, 파일이 반드시 있어야 하며 파일이 없으면 NULL을 반환합니다. "w+" 읽기/쓰기 파일을 읽기/쓰기용으로 엽니다. 파일이 없으면 파일을 생성하고, 파일이 있으면 내용을 덮어씁니다. "a+" 추가(읽기/쓰기) 파일을 열어 파일 끝에 값을 이어 씁니다. 만약 파일이 없으면 파일을 생성합니다. 읽기는 파일의 모든 구간에서 가능하지만, 쓰기는 파일의 끝에서만 가능합니다. t 텍..