Language/C C์–ธ์–ด ๊ฐ•์ขŒ (๋‹ค์ฐจ์› ๋ฐฐ์—ด/ํ•จ์ˆ˜์ธ์ˆ˜ ๋ฐฐ์—ด)
  • 728x90
    ๋ฐ˜์‘ํ˜•

     

     

     

    C์–ธ์–ด Chapter 20.


     

     

    ๐ŸŽฏ ๋ฐฐ์—ด ๋ณต์Šต

    - ๋ฐฐ์—ด์€ ํฌ์ธํ„ฐ์™€ ์œ ์‚ฌํ•˜์—ฌ ์‚ฌ์šฉ๋ฐฉ์‹์ด ๋‹ค์–‘ํ•˜๋‹ค.

    A[0] = 8;

    *(A+0) = 8;

    *A = 8;

    - ์œ„ ์†Œ์Šค๋Š” ๋ชจ๋‘ ๊ฐ™์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

     

     

     

    ๋‹ค์ฐจ์› ๋ฐฐ์—ด

    • ์ง€๊ธˆ๊นŒ์ง€์˜ ๋ฐฐ์—ด์€ ์ผ์ง์„ ์ƒ์— ๋Š˜์–ด์„œ ์žˆ๋Š” 1์ฐจ์›์ ์ธ ๊ฐœ๋…์ด์˜€๋‹ค.
    • ๋‹ค์ฐจ์›๋ฐฐ์—ด์—์„œ 2์ฐจ์›๋ฐฐ์—ด์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์ž.

     

    ๐Ÿ”” ์˜ˆ) 2์ฐจ์› ๋ฐฐ์—ด์„ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ, ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

     

    ๐Ÿ’ก ์œ„ ๋ฐฐ์—ด ์„ ์–ธ ํ˜•์‹์€ ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™” ํ•˜์˜€์„๋•Œ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

     

    ๐ŸŽฏ ํ”„๋กœ๊ทธ๋žจ ์„ค๋ช…

    • array[3][4] ์—์„œ [3]์€ 'ํ–‰', [4]๋Š” '์—ด'์„ ๋œปํ•œ๋‹ค.

    array[4]→

      [0] [1] [2] [3]
    [0] 0, 0 0, 1 0, 2 0, 3
    [1] 1, 0 1, 1 1, 2 1, 3
    [2] 2, 0 2, 1 2, 2 2, 3

    array[3]

     

    • ์œ„์†Œ์Šค์˜ ์ฃผ์†Œ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • ํ•œ์ž๋ฆฌ๊ฐ€4byte ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒƒ์„ ์•Œ์ˆ˜ ์žˆ๋‹ค.

     

     

     

    2์ฐจ์›๋ฐฐ์—ด์˜ ์—ฐ์‚ฐ์— ๋”ฐ๋ฅธ ์ฃผ์†Œ๊ฐ’ ์ด๋™

     

    ๋ฐฐ์—ด array์˜ ๊ฐ’๊ณผ ์ฃผ์†Œ์˜ ํ‘œ์‹œ๋ฒ•

     

    array : BFFFF994

    array + 1 → ํ–‰ ์ฃผ์†Œ = array[1]

    array[0] + 1 → ์›์†Œ ์ฃผ์†Œ = array[0][1] = *(array + 0) + 1 = *(*(array + 0) + 1)

    // ์œ„์˜ ํ˜•์‹์€ ๋ชจ๋‘ ๊ฐ™์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

    &array + 1 → ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ๊ฐ’ ์ด๋™(๋ฐฐ์—ด์˜ ์ฃผ์†Œ)

     

     

    ๊ฒฐ๊ณผ

     

     

     

    ํ•จ์ˆ˜ ์ธ์ˆ˜๋กœ์จ์˜ ๋ฐฐ์—ด

    • ๋ฐฐ์—ด ์ž์ฒด๊ฐ€ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋  ์ˆ˜ ์—†๋‹ค.
    • ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋ฅผ ํ”ผํ˜ธ์ถœ์ž์˜ ํ˜•์‹์ธ์ˆ˜๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๊ฐ’์„ ๋ฐ›๋Š”๋‹ค.

    ๐Ÿ’ก ํฌ์ธํ„ฐ๋Š” ํ•จ์ˆ˜ ์ธ์ž๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

     

     

    ๐Ÿ”” ์˜ˆ) ๋ฐฐ์—ด์„ ํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

     

     

    ๐ŸŽฏ ํ”„๋กœ๊ทธ๋žจ ์„ค๋ช…

    avg = average(score, 100);

     

    • average() ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์—์„œ ์‹ค์ธ์ˆ˜๋กœ ๋ฐฐ์—ด์˜ ์ด๋ฆ„์ธ score๊ฐ€ ์‚ฌ์šฉ๋จ
    • score ๋Š” ๋ฐฐ์—ด์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ(BFFFF838)์ด๋‹ค.

    float average(int *sp, int n)

     

    • ํ”ผ ํ˜ธ์ถœ ํ•จ์ˆ˜ average()์—์„œ ๋ฐฐ์—ด์˜ ํ˜•์‹์ธ์ˆ˜๋Š” ํฌ์ธํ„ฐ ๋ณ€์ˆ˜ sp๋กœ ์ฃผ์†Œ๊ฐ’์„ ๋„˜๊ฒจ๋ฐ›๋Š”๋‹ค.
    • ๋ฐฐ์—ด์„ ๋„˜๊ฒจ๋ฐ›๋Š” ํ˜•์‹์ธ์ˆ˜

    float average(int *s, int n)

    float average(int s[3], int n)

    float average(int s[], int n)

     

    • ์„ธ๊ฐ€์ง€ ํ‘œ๊ธฐ๋Š” ๋ชจ๋‘ ๋™์ผํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค.

    sum = sum + *(sp + i);    = sum + sp[i];    // ์„œ๋กœ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค.

     

    ๊ฒฐ๊ณผ

     

     

    ํ˜•์‹์ธ์ˆ˜๋กœ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ

    • ๋‹ค์ฐจ์› ๋ฐฐ์—ด์ด ํ˜•์‹์ธ์ˆ˜๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ฒซ ๋ฒˆ์งธ ์ƒ‰์ธ์„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋‘ ๋ฒˆ์งธ ์ƒ‰์ธ๋ถ€ํ„ฐ๋Š” ๋ชจ๋‘ ๋ช…์‹œํ•ด ์ฃผ์–ด์•ผํ•œ๋‹ค.
    • ์ด๊ฒƒ์€ ๋ฐฐ์—ดํฌ๊ธฐ๋ฅผ ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ์•Œ๋ ค ์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

     

    ๐Ÿ”” ์˜ˆ) ํ–‰๋ ฌ์˜ ๋Œ€๊ฐ์„ ์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

     

    ๐ŸŽฏ ํ”„๋กœ๊ทธ๋žจ ์„ค๋ช…

    • int mat[][3]์—์„œ์™€ ๊ฐ™์ด ์ฒซ ๋ฒˆ์งธ ์ƒ‰์ธ์€ ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๋‘๋ฒˆ์จฐ ์ƒ‰์ธ๋ถ€ํ„ฐ๋Š” ๋ช…์‹œํ•œ๋‹ค.

    int sum(int m[][7][4])

     

    • ์œ„๋Š” 3์ฐจ์› ๋ฐฐ์—ด์—์„œ ํ˜•์‹์ธ์ˆ˜ ํ‘œ๊ธฐ์˜ ์˜ˆ ์ด๋‹ค.

     

    ๊ฒฐ๊ณผ :

     

     

     

    728x90
    ๋ฐ˜์‘ํ˜•
์ƒ๋‹จ์œผ๋กœ