CTRL + F ๋ก ํค์๋ ๊ฒ์
๋ณธ ๊ธ์ ํ์๊ฐ C์ธ์ด๋ฅผ ๊ณต๋ถํ๋ฉด์ ์ฐ๋ ์ผ์ข ์ ์ ์ฅ ๋ ธํธ์ ๋๋ค.
ํ์๋ ๋ฐฐ์ฐ๋ ์ ์ฅ์ผ๋ก
ํ์ํ์ ๋ถ ๋ค์ ์ ์ ํ ์ฌ์ฉํ๋ฉด ์ข์ ๋ฏ ํ๋ค.
์ด์ ํธ
๋ด๊ฐ ๋ณด๋ ค๊ณ ๋ง๋๋ C์ธ์ด ์ ๋ณด ๋ชจ์ #๊ธฐ๋ณธ
CTRL + F ๋ก ํค์๋ ๊ฒ์ ๋ณธ ๊ธ์ ํ์๊ฐ C์ธ์ด๋ฅผ ๊ณต๋ถํ๋ฉด์ ์ฐ๋ ์ผ์ข ์ ์ ์ฅ ๋ ธํธ์ ๋๋ค. ํ์๋ ๋ฐฐ์ฐ๋ ์ ์ฅ์ผ๋ก ํ์ํ์ ๋ถ ๋ค์ ์ ์ ํ ์ฌ์ฉํ๋ฉด ์ข์ ๋ฏ ํ๋ค. ๋น์ฃผ๊ธฐ์ ์ ๋ฐ์ดํธ ์์ ๋ง
avs-won.tistory.com
๋น์ฃผ๊ธฐ์ ์ ๋ฐ์ดํธ ์์
๋ง์ง๋ง ์ ๋ฐ์ดํธ 2023 05 03 ๋
โ 1์ฐจ์ ๋ฐฐ์ด
โป ๋ฐฐ์ด์ ๊ธธ์ด ์ ๋ณด๋ ์์๋ก ํด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
ํ๋ ์ต๊ทผ์๋ ์์๊ฐ ์๋ ๋ณ์ ์ ์ธ๋ ํ์ฉํ๋ ๋ฒ์ฉ์ ์ผ๋ก ์์ ์ ์ธ์ ๊ถ์ฅํ๋ค.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int arr1[7]; // ์์๋ก ์ง์
int len = 20;
int arr2[len]; // ๋ณ์๋ก ์ง์
return 0;
}
โป char ํ์ ๋ฐฐ์ด์ ์ ์ธ์ ๋ฌธ์์ด ์ ์ฅ๋ง ์๋๋ผ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅํ๋ค.
โป charํ ๋ฐฐ์ด์ ์ ์ธ์ ๋ฌธ์์ด ๋์ "\0"๋ผ๋ escape sequence(์ด์ค์ผ์ดํ ๋ฌธ์)๊ฐ ์๋ค๋๊ฑธ ๋ช ์ฌํด์ผํ๋ค.
๋ค๋ฅธ๋ง๋ก "\0"์ null ์ด๋ผ๊ณ ๋ ํ๋ค.
ex: int char[] = "Good" ์ด๋ผ๊ณ ์ ์ธํ๋ฉด ์ค์ ๋ก๋ G,o,o,d,\0 ์ด๋ ๊ฒ ๊ตฌ์ฑ ๋์ด ์๋ค.์์คํค ์ฝ๋ ๊ฐ์ผ๋ก 0์ธ \0 ์ด๋ค.
โป scanf ๋ก ๋ฌธ์์ด์ ์ ๋ ฅ ๋ฐ์๋๋ %s ๋ฅผ ์ฌ์ฉ.
๋ค๋ง ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ๋ ๋ฐฐ์ด์ ๊ฒฝ์ฐ๋ ๋ฐฐ์ด ์์ & ์ฐ์ฐ์๋ฅผ ์ฌ์ฉ ํ๋ฉด ์๋๋ค.
โป C์ธ์ด์์ ํํํ๋ ๋ชจ๋ ๋ฌธ์์ด ๋์๋ ๋(\0) ๋ฌธ์๊ฐ ์๋์ผ๋ก ์ฝ์ ๋๋ค.
โป ๋ฌธ์์ด ์ข์ฐ ๋ฐ์ C์ธ์ด ์ฝ๋
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char arr[100];
int i,lens=0;
char temp;
printf("์์ด ๋จ์ด ์
๋ ฅ ํ์ธ์ฐ");
scanf("%s", arr);
while (arr[lens] != '\0')
lens++;
for (i = 0; i < lens/2; i++)
{
temp = arr[i];
arr[i] = arr[(lens-i)-1];
arr[(lens - i) - 1] = temp;
}
printf("์ข์ฐ๋ฐ์ ๋ฌธ์์ด : %s \n", arr);
return 0;
}
โ ํฌ์ธํฐ
โป C์ธ์ด์์ ๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ์์ ์กด์ฌํ๋ค. ์ด ๋ฉ๋ชจ๋ฆฌ์๋ ๊ฐ๊ฐ์ ์ฃผ์๊ฐ ์๋ค.
โป ํฌ์ธํฐ ๋ณ์ : ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํ ๋ณ์
32๋นํธ ์์คํ ์์ ๊ทธ ํฌ๊ธฐ๋ 4๋ฐ์ดํธ , 64๋นํธ ์์คํ ์์ 8๋ฐ์ดํธ
โป ํฌ์ธํฐ ๋ณ์ ์ ์ธ์ '*'์ ์์น๋ ์๊ด X
โป ํฌ์ธํฐ ๋ณ์ ์ ์ธ ์์ : int * pointer_1;
โป ํฌ์ธํฐ์ ํ์ ์ฃผ์ํ๋ผ intํ ํฌ์ธํฐ ๋ณ์๋ฅผ ์ ์ธ ํด๋๊ณ doubleํ ๋ณ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ์ ์ฃผ๋ฉด ์๋ฌด์ง์ด ์ธ๋ชจ ์๋ค.
โป ํฌ์ธํฐ ์ ์ธ์ ์ด๊ธฐํ๋ ํ์๋ค. 0์ด๋ NULL๋ก ์ด๊ธฐํ ํ์.
โ ํฌ์ธํฐ์ ๋ฐฐ์ด
โป ๋ฐฐ์ด์ ์ด๋ฆ์ ํฌ์ธํฐ์ด๋ค.
โป ํฌ์ธํฐ์ ๋ฐฐ์ด์ ์ฐจ์ด์ ์ ๋ค์ด๊ฐ์.
ใดํฌ์ธํฐ ๋ณ์๋ ์ฃผ์ ๊ฐ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ ๋ฐฐ์ด์ ์ด๋ฆ์ ๋ถ๊ฐ๋ฅ ํ๋ค.
โป int * pointer = &arr[0] ์ด ๋ฌธ์ฅ์
int * pointer = arr ๊ณผ ๊ฐ๋ค.
โป Typeํ ํฌ์ธํฐ๋ฅผ ๋์์ผ๋ก n๋งํผ ๊ฐ์ ์ฆ๊ฐ์ n x (Type์ ํฌ๊ธฐ) ๋งํผ ์ฃผ์ ๊ฐ์ด ์ฆ๊ฐ ํ๋ค.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int array[3] = { 10,20,30 };
int* pointer = array;
printf("%d %d %d \n", *pointer, *(pointer + 1), *(pointer + 2));
printf("%d ", *pointer); pointer++;
printf("%d ", *pointer); pointer++;
printf("%d ", *pointer); pointer--;
printf("%d ", *pointer); pointer--;
printf("%d ", *pointer); printf("\n");
return 0;
}
โป arr[i] == *(arr+i) ๊ฒฐ๋ก
โป char string[ ] = "QWERTY" ๋ณ์ ํํ์ ๋ฌธ์์ด
๋ฌธ์์ด ์ ์ฒด๋ฅผ ์ ์ฅ
โป char * string_2 = " POWER " ์์ ํํ์ ๋ฌธ์์ด
๋ฌธ์์ด P์ ์ฃผ์ ๋ฐํ
โป ๋ฐฐ์ด์ ์๋ ๊ฐ์ ํฌ์ธํฐ ์ ๊ทผ๋ฒ์ผ๋ก ์์น๋ฅผ ๋ฐ๊พธ๋ ์ฝ๋
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int arr[6] = { 1,2,3,4,5,6 };
int* ptr = &arr[0];
int* ptr_last = &arr[5];
int temp = 0;
for (int i = 0; i < 3; i++)
{
temp = *ptr;
*ptr = *ptr_last;
*ptr_last = temp;
ptr++, ptr_last--;
}
for (int k = 0; k < 6; k++)
printf("%d ", arr[k]);
return 0;
}
โ ํจ์ ์ธ์ ์ ๋ฌ #๋ฐฐ์ด
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void Func(int number)
{
printf("%d \n", ++number);
}
int main(void)
{
int k = 1;
Func(k);
return 0;
}
โป Func ํจ์์ k ์์ฒด๊ฐ ์๋ k์ ์ ์ฅ๋ ๊ฐ์ ์ ๋ฌ
โป ์ฌ๊ธฐ์ k๋ ์ธ์ number์ ๋งค๊ฐ๋ณ์๋ค.
โป ๋ฐฐ์ด์ ์ธ์๋ก ์ ๋ฌํ๋ ๋ฒ
void Func(int * any) { ..........}ํน์void Func(int any[ ] ) {.....} ํํ๋ ๊ฐ๋ฅํ๋ค.ํ์๊ฐ ์ข ๋ ๋ง์ด ์ฐ์ธ๋ค.
โป Call by value //// Call by reference
โป ์ ํํ์ ํ์๊ฐ ๋ํ๊ต 1ํ๋ ๋ ๋ค๋๋ฉด์ C์ธ์ด ์ ๊ณต ์์ ๋ ๋ค์ ํํ์ด์๋๋ฐ
์ฒ์์ ์ฌ์ค ๊ทธ๋ฅ ๋ฌด์ํ๊ณ ํ๋ ค ๋ค์๋ค. (ํ์ง๋ง ์ง๊ธ ๋ค์ ๋ฐฐ์ธ๋ ค๊ณ ํ๋ค.)
โป Call by Value : ๊ฐ์ ์ ๋ฌํ๋ ํํ
โป Call by reference : ๋ฐฐ์ด,์ฃผ์๊ฐ์ ์ ๋ฌํ๋ ํํ
โป scanf ํจ์ ์ฌ์ฉ์ &๊ธฐํธ์ ์๋ฏธ๊ฐ ์ด์ ๋ญ์ง ์ ๊ฒ์ด๋ค.
๋ฐ๋ก ์ฃผ์ ๊ฐ์ ๋ํ๋ด๋๊ฒ์ด๋ค.
๋ค๋ง ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ๋
scanf(" %s " , string );
์์ ํํ๋ ์ &๋ฅผ ๋ถ์ด์ง ์์๊น
๋ต์ ์ด๋ฏธ ๋ฐฐ์ ๋ค. ๋ฌธ์์ด ์์ฒด๊ฐ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์น๋ฅผ ๋ํ๋ด๋ ์ฃผ์ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
โป ํฌ์ธํฐ ๋ณ์ const ๊ด๊ณ
int * const pointer = &input;
pointer๋ ์์๊ฐ ๋์ด์ ์ฃผ์ ๊ฐ์ด ํ ๋ฒ ์ ์ฅ๋๋ฉด ๊ทธ ์ดํ๋ก ๊ฐ์ ๋ชป ๋ฐ๊ฟ