일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘스터디
- NumPy
- python
- dataframe
- 자료구조
- Algorithm
- 파이썬
- Stack
- 선그래프
- programmers
- 프로그래머스
- type hint
- 백준
- 알고리즘 스터디
- Join
- 정보처리기사 c언어
- javascript
- String Method
- MySQL
- aws jupyter notebook
- 알고리즘
- 데이터시각화
- Selenium
- queue
- openCV
- 가상환경
- 노마드코딩
- 코딩테스트
- pandas
- Matplotlib
- Today
- Total
목록전체 글 (206)
조금씩 꾸준히 완성을 향해
#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..
포인터 배열 - 배열의 요소가 포인터(메모리 주소)로 이루어진 것 기존의 배열 char a[3] = {'a', 'b', 'c'}; printf("%s\n", a); //abc char *str = "HELLO"; printf("%s\n", str); //Hello 포인터 배열 char *student[3] = {"aaa", "bbb", "ccc"}; printf("%s", *(student+1)); //bbb ※ %s : 문자열 출력(주소값을 받아 null 값이 나올 때까지 모든 문자열을 출력) #include int main() { char *array1[2] = {"Good morning", "C language"}; printf("%s\n", array1[0]+5); // %s - 문자열 출력: 주..
2차원 배열과 포인터 int a[3][2] = {{1, 2}, {3, 4}, {5, 6}}; //3행 2열 배열 생성 printf("%d\n", a) //100 printf("%d\n", *a) //100 printf("%d\n", **a) //1 #include int main() { int data[][3]= {1, 3, 4, 5, 2, 9, 6, 8, 7}; //2행 3열 배열 생성 int *p = data[1]; int x, y; x = *p; y = *(p+2); printf("x=%d, y=%d\n", x, y); } //출력: x=5, y=9 #include int main() { int darr[3][3]= {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int sum1, s..
배열과 포인터의 관계 int a[5]; int *b = a; a[2] = 10; b[2] = 20; #include int main() { int i; int a[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; int *ptr = a+3; for(i=0; i
scanf - 사용자의 키보드로 입력받을 때 사용하는함수 - 형식 : sacnf("%d", 변수의 주소); 사용법 int a; scanf("%d", &a); printf("%d", a); // scanf 입력으로 90을 타이핑 #include int main() { int i = 10; int j = 20; int *k = &i; scanf("%d", k); printf("%d, %d, %d\n", i, j, *k); return 0; } //출력: 90, 20, 90 ※ 유튜브 흥달쌤 깨알 C언어 특강을 직접 정리한 내용입니다
포인터 - 메모리의 위치를 표현한 기호 포인터 변수 선언 int *a; //포인터 변수 a 선언 *a = 10; //a의 값에 10을 대입 a의 주소 값에 100이 할당되었다고 가정하면 아래와 같이 표현할 수 있다. printf("%d\n", a); //100 printf("%d\n",*a); //10 이 경우, a와 *a의 값을 출력하면 각각 100, 10이 출력 된다. 변수의 주소 찾기 int b=10; int *a; //포인터 변수 a 선언 a=&b; //b의 주소값을 a에 대입 변수 b의 주소값에 101이 할당되었다고 가정하면 아래와 같이 표현할 수 있다. printf("%d\n", *a); //10 printf("%d\n", a); //101 printf("%d\n", b); //10 이 경우,..