일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- 파이썬
- Selenium
- 노마드코딩
- 정보처리기사 c언어
- openCV
- programmers
- 알고리즘스터디
- type hint
- NumPy
- 데이터시각화
- 백준
- javascript
- 알고리즘
- Join
- 선그래프
- Stack
- Algorithm
- 프로그래머스
- pandas
- 가상환경
- 알고리즘 스터디
- python
- Matplotlib
- MySQL
- dataframe
- aws jupyter notebook
- String Method
- 자료구조
- queue
- Today
- Total
목록정보처리기사 c언어 (19)
조금씩 꾸준히 완성을 향해
fork - 리눅스에서 자식 프로세스를 생성할 때 쓰는 명령 Q. 다음은 리눅스 환경에서 fork() 시스템 호출을 이용하여 자식 프로세스를 생성하는 C 프로그램이다. 출력 결과는? (단, "pid = fork();" 문장의 수행 결과 자식 프로세스의 생성을 성공하였다고 가정) int i=0, v=1, n=5; pid_t pid; pid = fork() if(pid < 0){ for(i=0; i
▶ ++(--)가 변수 뒤에 있는 경우 - 기존의 방식대로 변수 값 참조 후 1씩 증가(감소) #include int main() { int i = 5; int z = i++ + i++ + i++; // 5 + 6 + 7 printf("%d, %d", i, z); } // 8, 16 ▶ ++(--)가 앞에 있는 경우 - 처음으로 연산을 수행하는 시점의 변수 값을 참조 #include int main() { int i = 5; int z = ++i + ++i + ++i; // 7 + 7 + 8 printf("%d, %d", i, z); } // 8, 22 ▶ 혼합 예제 #include int main() { int i = 5; int z = ++i + i++ + ++i; // 7 + 6 + 8 printf..
printf 함수 & 단항 연산자(++, --) printf()함수 - 뒤에서부터 연산을 시작!! 단항 연산자가 변수 앞에 있을 경우(++i, --i) - 최종 연산이 끝난 후의 i의 값을 참조 = printf 연산을 하는 시점의 i의 값 참조 ▶ printf & ++i #include int main() { int i = 5; printf("%d, %d, %d, %d", i++, ++i, i++, ++i); } // 8, 9, 6, 9 ▶ printf & --i #include int main() { int i = 5; printf("%d, %d, %d, %d", --i, i--, i--, --i); } // 1, 3, 4, 1 ▶ printf & i ※ 단항 연사자가 없는 그냥 i의 경우에도 모든 연..
정적(static) 변수 - 단 한번만 초기화하고, 그 이후에는 전역변수처럼 프로그램이 종료될 때까지 메모리 공간에 존재하는 변수 - 초기값이 지정지 안되면, 자동으로 0이 대입 지역(local) 변수 vs 정적(static) 변수 사용 ▶ local 변수 #include void test(){ int a=10; a++; printf("%d", a); } int main() { test(); test(); } // 1111 ▶ static 변수 #include void test(){ static int a=10; a++; printf("%d", a); } int main() { test(); test(); } // 1112 #include void funCount(); int main() { int nu..
#include int f(int *i, int j); int main(void){ int x=10, y=20; printf("%d\n", f(&x, y)); printf("%d %d", x, y); } int f(int *i, int j){ *i += 5; return (2* *i + ++j); } // 51 // 15 20 #include int foo(int a, int *b); int main(){ int a=5; int b=3; int c=0; b = foo(a, &c); c = foo(b, &c); printf("a=%d b=%d c=%d", a, b, c); } int foo(int a, int *b){ int c; *b = a+1; c = a-1; return c; } // a=5 b=4 ..
함수 - 반복적인 수행을 정의해 놓은 작은 프로그램 단위 함수 구조 반환 타입 함수명(인자들...){ 수행할 작업1 수행할 작업2 } 함수의 선언과 사용 int sum(int a, int b){ int c = a + b; return c; } int data = sum(10, 20); printf("%d", data); // 30 #include void swap(int a, int b){ int temp; temp = a; a = b; b = temp; } int main(void){ int k, j; k = 3; j = 2; swap(k, j); printf("k = %d, j = %d", k, j); return 0; } // k = 3, j = 2 #include int func(int n); i..
배열 포인터 ▶example 1 int (*in)[2]; //배열포인터 생성: (논리적으로) 배열을 2개씩 자름 int num[3] = {1,2,3}; in = num; printf("%d\n", in); //100(주소값이 100이라고 가정) printf("%d\n", num); //100 printf("%d\n", *in); //100 printf("%d\n", **in); //1 printf("%d\n", *(*in+1)); //2 printf("%d\n", *(*in+2)); //3 printf("%d\n", *in[1]); //3 ▶example 2 int (*in)[4]; //배열포인터 생성: (논리적으로) 배열을 4개씩 자름 int num[3][3] = {1,2,3,4,5,6,7,8,9}; ..
구조체 - 여러 변수들을 모아서 하나의 객체를 구성할 때 사용하는 사용자 정의 타입 객체 구조체 구성 struct 구조체명 { 멤버변수1; 멤버변수2; } 구조체 정의 및 사용 #include //정의 int main(){ struct person { char *name; int age; }; //생성 struct person user1; user1.name = "h user"; printf("%s", user1.name); } // h user #include //정의+생성 int main(){ struct person { char *name; int age; } test; test.name = "h user"; test.age = 40; printf("%s: %d", test.name, test.ag..