Liea
'① 공부/C' 카테고리의 글 목록 (3 Page)

① 공부/C

① 공부/C

C언어. 포인터, 배열과 포인터

1. 포인터 (= 포인터 변수) char ch='A'; char * ptr =&ch; - 변수의 주소값을 담아두는 변수 - 주소값(&) 저장이 목적 ㄴ 주소는 모두 정수(음수 x), 각 byte의 첫 번째 주소값만 저장됨 (*ptr)++;//가리키는 대상의 값 증가 ptr++;//주소값을 증가시킴, 다른곳을 가리키게 되므로 함부로 하지 않기 //1증가 int num = 10; int * ptr1 = # ptr++;//4증가(type의 byte만큼 증가함) double num1 = 3.14; double * ptr2 = &num1; ptr1++;//8증가 int num; printf("%u(unsigned)", &num);// 주소값 출력함 1-1) 포인터 변수(*)와 & 연산자 int num; i..

① 공부/C

C언어. 다차원 배열

int s[10];//1차원 배열 int s[3][10];//2차원 배열 int s[3][3][5];//3차원 배열 1. 2차원 배열 - 자료형 배열명[row][col]; // 인덱스 2개 - int arr[3][5] 행\열arr[0]arr[1]arr[2]arr[3]arr[4] arr[0]12345 arr[1]678910 arr[2]... ex) int s[3][10]; int num = 1; for (int i = 0; i < 3; i++)//행 (가로 { for (int j = 0; j < 10; j++)//열 (세로 { s[i][j] = num++; } } 2차원 배열의 초기화 int s[2][3] = { { 1, 2, 3 }, //첫 번째 행의 원소들의 초기값 { 4, 5, 6 }, //두 번째 ..

① 공부/C

C언어. 배열, 문자열 배열

******************1차원 배열******************* 1. 배열 : 데이터가 많을 때 사용함 ㄴ다수의 정보를 저장하기 위해서는 다수의 배열 선언 1차원 배열 선언에 필요한 것 int: 배열을 이루는 요소(변수)의 자료형 Arr: 배열의 이름 [7]: 배열의 길이 ㄴ 자료형 배열명[SIZE]; 배열 선언 int Arr[7];-1칸당 크기는 4byte ㄴsizeof(Arr)로 확인가능 배열의 장점 : 순차적으로 접근이 가능하다 for (i = 0; i < 5; i++) { sum += arr[i]; } 2. 배열 초기화 int A[SIZE] = { 1, 2, 3, 4, 5 }; // 선언하면서 초기화 int B[5] = { 1, 2 }; // 초기화 값이 부족한 경우 - 부족한 부분..

① 공부/C

C언어. 변수(지역변수, 매개변수, 전역변수)의 차이

1. 변수 int num = 10; ㅇ 생존시간(라이프타임) : 변수의 생성과 종료 ㅇ 범위 : 어디에서 접근할 수 있나? - 블럭이 다르면 변수명은 같아도 ok int num= 1; //전역변수 -어디서든(함수외부) 접근 가능 //ㄴ프로그램 시작 전 생성, 끝나면 증발 int add() { int num1 = 10; //add()호출, 함수 호출 끝나면 증발 int num2 = 20; //지역변수(함수내부, 블록내부) return num1+num2; } int main(void) { int result = add(); return 0; } 1-1. 지역변수 ( ex. 매개변수 ) ㅇ 함수 내부, 블록 내부에서 정의 ㅇ 함수 호출 시 생성, 종료 시 증발 ㅇ 초기화를 시키지 않으면, 쓰레기값이 들어가 있..

① 공부/C

C언어. 난수함수 : Land()

난수(Random number) : 규칙성 없이 임의로 생성되는 수 #include #include ↑난수를 발생시키기 위해서는 위 두개의 헤더파일을 포함시켜주어야 한다. 1. 난수 발생 ① #include 선언 ② rand();0 ~ 32767(rand_max) ex) for(int i = 0; i 매번 같은 숫자 5개 출력 2. seed값(초기값) 설정 ㄴ 매번 실행값이 다른 난수를 발생시킴 ① #include 선언 ② srand(초기값) srand((unsigned)time(NULL)); // 명시적 형변환(캐스팅) ex) for(int i = 0; i < 5; i++) { printf("%d\n", rand()); } --..

① 공부/C

C언어. 함수

1. 함수 ㅇ 순서에 관계없이 매번 main() 부터 실행됨 ㅇ C언어에서는 모듈 == 함수로 이해 ㅇ 특정 작업을 수행하는 독립적인 부분 ㅇ 모듈의 장점 1) 각 모듈들의 독자적인 개발 가능 2) 다른 모듈과 독립적으로 변경 가능 3) 유지 보수가 쉬워짐 4) 모듈의 재사용 가능 ㅇ 함수 정의 반환형 함수명 ( 매개변수1, 매개변수2 ... ) ㄴ 상수 X, 변수-배열-포인터 O { 문장1; 문장2; [ return 반환값; ] // 반환할 값이 없는 경우, 반환형이 void. } ㅇ 함수 원형 함수가 있다는 것을 컴파일러에게 미리 알림 반환형 함수명 ( 매개변수1, 매개변수2 ); ㅇ 호출 함수명 ( 인수, ( = 인자, argument, 실매개변수 )) ㄴ 상수 O, 변수 O ㅇ 사용자 정의 함수 ..

① 공부/C

C언어. 반복문 for문

반복문의 종류 1. for반복문(배열) : 정해진 횟수만큼 반복하는 구조 2. while반복문 3. do-while반복문 4. break와 continue문 for문 *for문 시작전 값을 초기화 시켜줌, 쓰레기 값이 남아있기 때문 *더하기는 초기화 0으로, 곱하기는 초기화 1로 1. for(+배열) for(초기식; 조건식; 증감식) { 반복하고자 하는 문장들 } for문안에서 값을 누적하고 싶으면 for문위에 변수 하나 0으로 초기화해줌 ex) for (i = 1; i

① 공부/C

C언어. C언어 간단한 문제들

#include int main(void) { //168p 문제2번 int data; printf("16진수 정수를 입력하시오: "); scanf("%x", &data); printf("8진수로는 %#o입니다.\n", data); printf("10진수로는 %d입니다.\n", data); printf("16진수로는 %#x입니다.", data); return 0; } #include int main(void) { //문제3번 int x, y, tmp; printf("두 수 x, y를 입력하세요 : "); scanf("%d %d", &x, &y); tmp = x; printf("Before x : %d y : %d\n", x, y); x = y; y = tmp; printf("After x : %d y : ..

① 공부/C

C언어. 층 입력받는 별 피라미드

#include int main(void) { int f; printf("층"); scanf_s("%d", &f); for (int i =1; i = i; k--) { printf("★"); } printf("\n"); } return 0; } //3개의 for문 사용 //공백의 개수 = 입력 받은 값 - 현재 행의 값 //별의 개수 =현재 행의 값*2-1 (바깥쪽for문의 값) #include int main(void) { int f; printf("층수를 입력하시오"); scanf("%d", &f); for (int x = 1; x =x-1; y--) { printf(" "); } //공백수 결정지음 int y = f-1 / y >=x-1 for (int z = 1; z