C Programming 4

LuuuuucyΒ·2024λ…„ 10μ›” 16일

C Programming study review

λͺ©λ‘ 보기
4/8

πŸ”– REVIEW

❗ μ„ μƒλ‹˜μ˜ 말씀

  1. λ‹€μ‹œ ν•œ 번 μ‚¬μš©ν•  μ½”λ“œλŠ” κΌ­ ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄μ•Ό ν•œλ‹€.

  2. λ°°μ—΄μ˜ μ‚¬μ΄μ¦ˆλŠ” λΉ„μ›Œλ‘λŠ” 것은 μ•ˆμ’‹μ€ μŠ΅κ΄€μ΄λ‹€.

❗ C μ–Έμ–΄

1. 각 μ–Έμ–΄λ§ˆλ‹€ ν•¨μˆ˜λͺ… μ§“λŠ” 방법

  • python = μŠ€λ„€μ΄ν¬(sum_val)
  • cμ–Έμ–΄ = μŠ€λ„€μ΄ν¬(sum_val)
  • c++ = 카멜(sumVal)
  • μžλ°” = 카멜(sumVal)
  • GO = 카멜(sumVal)/파슀칼(SumVal)

2. λ°°μ—΄

μ•„νŒŒνŠΈλŠ” 1μΈ΅λΆ€ν„°μ§€λ§Œ,
κ°œλ°œμžμ—κ²Œ 배열은 0측뢀터이닀.

int main(){
    int ages[3] = {10, 20, 30}; // 0, 1, 2

    return 0;
}

3. λ°°μ—΄μ˜ μ‚¬μ΄μ¦ˆ κ΅¬ν•˜κΈ° ?

Cμ–Έμ–΄λŠ” 데이터 κ°„μ˜ 경계가 μ—†μŒ -> Cμ–Έμ–΄μ—λŠ” λ°°μ—΄μ˜ 크기λ₯Ό μ•Œλ €μ€„ 수 μ—†λ‹€.
sizeof()λ₯Ό ν™œμš©ν•΄μ„œ ν•΄λ‹Ή νƒ€μž…μ˜ λ°”μ΄νŠΈλ‘œ λ‚˜λˆ„μ–΄ 크기λ₯Ό 계산할 뿐 ...
??? sizeofλŠ” ν•¨μˆ˜κ°€ 아닐 μˆ˜λ„ ??????????

🚫 ν•¨μˆ˜ μ•ˆμ—μ„œ sizeof()λ₯Ό ν™œμš©ν•΄μ„œ μ‚¬μ΄μ¦ˆλ₯Ό κ΅¬ν•˜κΈ° ❌❌❌

void show_array_v2(int data[])
{
    int count = sizeof(data)/sizeof(data[0]);
    int i = 0;
    while (i < count)
    {
        printf("%d ", data[i]);
        i++;
    }
}
 // λ°°μ—΄μ˜ 크기λ₯Ό μ•Œ 수 μžˆλŠ” 방법이 μ—†λ‹€. 
 //-> sizeofλ₯Ό μ΄μš©ν•΄μ„œ λ°”μ΄νŠΈ 수λ₯Ό νŒŒμ•…ν•΄μ•Όν•˜κΈ° λ•Œλ¬Έμ— ν•¨μˆ˜ μ•ˆμ—μ„œ μ‚¬μš© x 

⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇

void show_array_v3(int data[], int length)
{
    int i = 0;
    while (i < length)
    {
        printf("%d ", data[i]);
        i++;
    }
}

이런 μ‹μœΌλ‘œ ν•΄λ‹Ή 배열이 μžˆλŠ” κ³³μ—μ„œ sizeof둜 κ΅¬ν•˜λŠ” κ²ƒμœΌλ‘œ ...

4. 포인터

ν¬μΈν„°λŠ” GOμ–Έμ–΄ κ³΅λΆ€ν–ˆμ„ λ•Œλ„ λ΄€μ§€λ§Œ, 봐도 봐도 μ–΄λ ΅λ‹€.

int main()
{
    int a = 7;
    printf("%d\n", &a); // 6422296 // μ£Όμ†Œ (ν•΄λ‹Ή λ©”λͺ¨λ¦¬ μ£Όμ†Œ)
    printf("%p\n", &a); // 0061FF18 // 포인터 (λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ°€λ₯΄ν‚€λŠ” λ³€μˆ˜)

    int *p = &a;
    printf("%p\n", p);  // 0061FF18
    printf("%d\n", *p); // 7
profile
Hi, I am Lucy. Welcome to Moon in the Room. 🌝

0개의 λŒ“κΈ€