μ 체 κΈ88 13 Array C μΈμ΄μμ λ°°μ΄μ λμΌν λ°μ΄ν° νμμ μ¬λ¬ μμλ₯Ό νλμ λ³μμ μ°μμ μΌλ‘ μ μ₯νλ μλ£ κ΅¬μ‘°μ λλ€. κ° μμλ μΈλ±μ€λ₯Ό μ¬μ©νμ¬ μ κ·Όν μ μμ΅λλ€. λ°°μ΄μ μ μΈνκ³ μ¬μ©νλ λ°©λ²μ λν΄ κ°λ΅νκ² μ€λͺ νκ² μ΅λλ€. λ°°μ΄μ νΉμ§ νμ κ°μ΄ (μ΄κΈ°ν) μμ΄μΌ ν©λλ€. [ ] μΉΈ μμλ μμλ§ μ¬ μ μμ΅λλ€. arr[10] = { 1, 2 } -> λ°°μ΄μ΄ 10μΉΈ μ΄κΈ° λλ¬Έμ 8μΉΈμ 0μΌλ‘ λμ΅λλ€. arr[] = { 1, 2 ) -> κ°μ΄ 2κ°κ° μκΈ° λλ¬Έμ 2μΉΈμ΄ μλμΌλ‘ ν λΉλ©λλ€. λ°°μ΄κ³Ό λ°λ³΅λ¬Έ λ°λ³΅λ¬Έκ³Ό ν¨κ» λ°°μ΄μ μ¬μ©νλ©΄ κ°νΈνκ² λͺ¨λ μμμ μ κ·Όν μ μμ΅λλ€. λ€μ°¨μ λ°°μ΄ C μΈμ΄μμλ λ€μ°¨μ λ°°μ΄λ μ§μλ©λλ€. 2μ°¨μ λ°°μ΄μ ν(row)κ³Ό μ΄(column)λ‘ κ΅¬μ±λλ©°, λ€μ°¨μ λ°°μ΄μ μ¬λ¬ .. 2024. 1. 24. 12 Pointer ν¬μΈν°λ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό μ μ₯νλ λ³μλ‘, ν΄λΉ μ£Όμμ μ μ₯λ λ°μ΄ν°μ μ κ·Όνλ λ° μ¬μ©λλ C μΈμ΄μμ λ§€μ° κ°λ ₯νκ³ μ€μν κΈ°λ₯ μ€ νλμ λλ€. ν¬μΈν°λ₯Ό μ¬μ©νλ©΄ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό μ§μ μ‘°μνμ¬ λ€μν μμ μ μνν μ μμ΅λλ€. μ¬κΈ°μ ν¬μΈν°μ μ£Όμ κ°λ κ³Ό νμ© μ¬λ‘λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. Pointer level 1 λ보기 #include int main() { int a; int *b; a = 3; printf("a = %d\n", a); // 3 printf("&a = %u\n", &a); // a address b = &a; printf("b = %u\n", b); // a address *b = 5; printf("*b = %d\n", *b); // 5 printf("a = %d\n", a); // .. 2024. 1. 24. 11 function (ν¨μ) C μΈμ΄μμ ν¨μλ μ½λλ₯Ό ꡬμ±νλ κΈ°λ³Έμ μΈ λΈλ‘ μ€ νλλ‘, νΉμ μμ μ μννλ μ½λ λ¬Άμμ λλ€. ν¨μλ₯Ό μ¬μ©νλ©΄ μ½λμ λͺ¨λνμ μ¬μ¬μ©μ΄ κ°λ₯ν΄μ§λ©°, νλ‘κ·Έλ¨μ λ Όλ¦¬μ μ΄κ³ μ΄ν΄νκΈ° μ¬μ΄ λ¨μλ‘ λλ μ μμ΅λλ€. ν¨μλ νΉμ ν κΈ°λ₯μ μννκ³ κ·Έ κ²°κ³Όλ₯Ό λ°νν μ μμ΅λλ€. return_type: ν¨μκ° λ°ννλ κ°μ μλ£νμ λνλ λλ€. λ§μ½ ν¨μκ° μλ¬΄λ° κ°μ λ°ννμ§ μμ κ²½μ° voidλ₯Ό μ¬μ©ν©λλ€. function_name: ν¨μμ μ΄λ¦μ λνλ λλ€. ν¨μλ₯Ό νΈμΆν λ μ΄ μ΄λ¦μ μ¬μ©νμ¬ νΈμΆν©λλ€. parameters: ν¨μμ μ λ¬λλ 맀κ°λ³μλ€μ λͺ©λ‘μ λλ€. ν¨μλ₯Ό νΈμΆν λ μ΄ λ§€κ°λ³μλ€μ μ λ¬νμ¬ ν¨μκ° μμ μ μνν λ μ¬μ©ν μ μμ΅λλ€. ν¨μ λ΄μ©: μ€κ΄νΈ {}λ‘ λλ¬μΈμΈ λΆλΆμ.. 2024. 1. 23. 10 string (feat. random ν¨μ) C μΈμ΄μμ λ¬Έμμ΄μ λ¬Έμλ€μ λ°°μ΄λ‘ ννλ©λλ€. λ¬Έμμ΄μ μ’ μ’ null λ¬Έμ('\0')λ‘ λλλ©°, μ΄ null λ¬Έμλ λ¬Έμμ΄μ λμ λνλ λλ€. C μΈμ΄μμλ λ¬Έμμ΄μ char λ°°μ΄λ‘ μ μνκ³ , μ΄ λ°°μ΄μ μ¬μ©νμ¬ λ¬Έμμ΄μ λ€λ£Ήλλ€. κ·Έλ¬λ©΄ λ€μ μ½λλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. λ보기 #include void main() { char str[20]; // λ¬Έμμ΄μ μ°μλ μ§ν©! str[0] = 'h'; str[1] = 'e'; str[2] = 'l'; str[3] = 'l'; str[4] = 'o'; str[5] = '\0'; char str1 = 'h'; char str2 = 'e'; char str3 = 'l'; char str4 = 'l'; char str5 = 'o'; char str6 = '\0'; p.. 2024. 1. 23. 9 while & do-while (feat. break & continue) while 루νμ do-while 루νλ λ κ°μ§ λ€λ₯Έ ννμ λ°λ³΅λ¬Έμ λλ€. μ΄ λ 루ν λͺ¨λ μ‘°κ±΄μ΄ μ°ΈμΈ λμ μ½λλ₯Ό λ°λ³΅ μ€ννλ©°, μ‘°κ±΄μ΄ κ±°μ§μ΄ λλ©΄ λ°λ³΅μ΄ μ’ λ£λ©λλ€. while 루ν while 루νλ λ°λ³΅ μμ μ μ 쑰건μ κ²μ¬νκ³ , μ‘°κ±΄μ΄ μ°ΈμΈ κ²½μ°μλ§ λ£¨ν λ΄μ μ½λλ₯Ό μ€νν©λλ€. νμμ λ€μκ³Ό κ°μ΅λλ€. 1λΆν° 5κΉμ§μ μ«μλ₯Ό μΆλ ₯νλ κ°λ¨ν while 루νλ λ€μκ³Ό κ°μ΅λλ€: do-while loop do-while 루νλ λ¨Όμ μ½λλ₯Ό ν λ² μ€νν νμ 쑰건μ κ²μ¬ν©λλ€. λ°λΌμ do-while 루νλ μ΅μν ν λ²μ μ½λλ₯Ό μ€νν©λλ€. νμμ λ€μκ³Ό κ°μ΅λλ€. 1λΆν° 5κΉμ§μ μ«μλ₯Ό μΆλ ₯νλ do-while 루νλ λ€μκ³Ό κ°μ΅λλ€: do-while 루νλ 루ν λ΄λΆμ μ½λκ° μ΅μν ν.. 2024. 1. 23. 8 for loop (feat. Nested loop) C μΈμ΄μμ for 루νλ λ°λ³΅λ¬Έμ ꡬννλλ° μ¬μ©λ©λλ€. for 루νλ μ΄κΈ°ν ꡬ문, 쑰건μ, μ¦κ°μμΌλ‘ ꡬμ±λμ΄ μμ΅λλ€. μΌλ°μ μΈ for 루νμ νμμ λ€μκ³Ό κ°μ΅λλ€. μ΄κΈ°ν ꡬ문 (Initialization): 루νκ° μμλ λ ν λ²λ§ μ€νλλ λΆλΆμΌλ‘, λ³μμ μ΄κΈ°κ°μ μ€μ νλ μν μ ν©λλ€. 쑰건μ (Condition): 맀 λ°λ³΅λ§λ€ νκ°λμ΄ μ°Έ(true) λλ κ±°μ§(false)μΌλ‘ νλ¨λλ λΆλΆμ λλ€. 쑰건μμ΄ μ°ΈμΈ λμ 루νκ° κ³μ μ€νλ©λλ€. μ¦κ°μ (Increment/Decrement): κ° λ°λ³΅μ΄ λλ λλ§λ€ μ€νλλ λΆλΆμΌλ‘, μΌλ°μ μΌλ‘ λ³μλ₯Ό μ¦κ°μν€κ±°λ κ°μμν€λ μν μ ν©λλ€. Nested loop μ΄μ€ λ°λ³΅λ¬Έμ νλμ λ°λ³΅λ¬Έ μμ λ€λ₯Έ λ°λ³΅λ¬Έμ΄ μ€μ²©λμ΄ μλ ꡬ쑰λ₯Ό λ§ν©λ.. 2024. 1. 23. 7 if & switch if statement if λ¬Έμ 쑰건μ νκ°νμ¬ ν΄λΉ μ‘°κ±΄μ΄ μ°Έ(true)μΈ κ²½μ°μ μ½λ λΈλ‘μ μ€ννλ 쑰건문μ λλ€. C μΈμ΄μμ if λ¬Έμ λ€μκ³Ό κ°μ κΈ°λ³Έμ μΈ ννλ₯Ό κ°μ΅λλ€. μ¬κΈ°μ "쑰건"μ λΆλ¦¬μΈ κ° λλ λΆλ¦¬μΈ κ°μ λ°ννλ ννμμ λλ€. λ§μ½ μ‘°κ±΄μ΄ μ°Έμ΄λ©΄, μ€κ΄νΈ {} μμ μλ μ½λ λΈλ‘μ΄ μ€νλκ³ , μ‘°κ±΄μ΄ κ±°μ§μ΄λ©΄ λΈλ‘μ 무μλ©λλ€. if λ¬Έμ λ¨λ μΌλ‘ μ¬μ©λ μλ μκ³ , elseλ else if λ¬Έκ³Ό ν¨κ» μ¬μ©λ μλ μμ΅λλ€. μμ μ½λμμ else ifλ μΆκ°μ μΈ μ‘°κ±΄μ κ²μ¬νλ©°, elseλ μ΄λ€ 쑰건λ λ§μ‘±νμ§ μμ λ μ€νλ©λλ€. μ¬λ¬ κ°μ else if λΈλ‘μ μΆκ°νμ¬ λ€μν 쑰건μ μ²λ¦¬ν μ μμ΅λλ€. Switch statement switch λ¬Έμ νΉμ λ³μμ κ°μ λ°.. 2024. 1. 23. 6 scanf ν¨μ (feat. format specifiers) C μΈμ΄μμ scanf ν¨μλ νμ€ μ λ ₯μμ νμμ μ§μ νμ¬ λ°μ΄ν°λ₯Ό μ½μ΄μ€λ ν¨μμ λλ€. scanf ν¨μλ ν€λ³΄λλ λ€λ₯Έ μ λ ₯ μμ€μμ μ¬μ©μλ‘λΆν° μ λ ₯μ λ°μ λ³μμ μ μ₯ν λ μ£Όλ‘ μ¬μ©λ©λλ€. μμ μ½λμμ %dλ μ μλ₯Ό μ λ ₯λ°λ νμ μ§μ μμ λλ€. &numμ λ³μ numμ μ£Όμλ₯Ό λνλ λλ€. scanf ν¨μλ μ¬μ©μκ° μ λ ₯ν μ μλ₯Ό μ½μ΄μμ ν΄λΉ λ³μμ μ μ₯ν©λλ€. λ€λ₯Έ μμλ νμΈν΄λ³΄κ² μ΅λλ€. λ보기 #include // scanf -> ν€λ³΄λ μ λ ₯μ λ°μμ μ μ₯ int main(void) { int one, two, three; printf("μΈ κ°μ§ μ μλ₯Ό μ λ ₯νμΈμ© : "); scanf_s("%d %d %d", &one, &two, &three); printf("첫 λ²μ§Έ κ°μμ : %d\n.. 2024. 1. 23. 5 Operator C μΈμ΄μ μ°μ°μμ λν΄ μμλ³΄κ² μ΅λλ€. C μΈμ΄λ λ€μν μ°μ°μλ₯Ό μ 곡νμ¬ μ°μ , λ Όλ¦¬, λΉκ΅, λμ λ± λ€μν μ°μ°μ μνν μ μμ΅λλ€. μλμμ λͺ κ°μ§ μ£Όμν μ°μ°μλ₯Ό μ€λͺ ν©λλ€. 1) μ°μ μ°μ°μ (Arithmetic Operators) + (λνκΈ°) - (λΉΌκΈ°) * (κ³±νκΈ°) / (λλκΈ°) % (λλ¨Έμ§) 2) μ¦κ° μ°μ°μ (Increment and Decrement Operators) 3) κ΄κ³ μ°μ°μ (Relational Operators) == (κ°μ) != (κ°μ§ μμ) (ν¬λ€) = (ν¬κ±°λ κ°λ€) 4) λ Όλ¦¬ μ°μ°μ (Logical Operators) && (λ Όλ¦¬ AND) || (λ Όλ¦¬ OR) ! (λ Όλ¦¬ NOT) 5) λΉνΈ μ°μ°μ (Bitwise Operators) x = 5 = 0 0 .. 2024. 1. 23. μ΄μ 1 2 3 4 5 6 Β·Β·Β· 10 λ€μ