
π― μ»΄νμΌ μΈμ΄μΈ CμΈμ΄μ λ¬Έλ²μ λν΄ μ 리ν©λλ€.
μ°μ°μλ μ μ μΈ λ°μ΄ν°λ€μ μ κΈ°μ μΌλ‘ νλνκ² νμ¬ μλ‘μ΄ κ°μΉλ₯Ό μ°½μΆν΄λ΄λ κ²μ λλ€.
+ : μΌμͺ½κ³Ό μ€λ₯Έμͺ½μ μλ κ°μ λν©λλ€.
- : μΌμͺ½μ κ°μμ μ€λ₯Έμͺ½μ κ°μ λΊλλ€.
* : μΌμͺ½κ³Ό μ€λ₯Έμͺ½μ κ°μ κ³±ν©λλ€.
/ : μΌμͺ½μ κ°μ μ€λ₯Έμͺ½μ κ°μΌλ‘ λλλλ€.
% : μΌμͺ½μ κ°μ μ€λ₯Έμͺ½μ κ°μΌλ‘ λλμ΄ λλ¨Έμ§λ₯Ό λ°νν©λλ€.
= : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μ€λ₯Έμͺ½μ μλ κ°μ μΌμͺ½μ λμ
ν©λλ€.
+= : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°κ³Ό μ€λ₯Έμͺ½ κ°μ λν ν λ€μ μΌμͺ½μ κ°μ λμ
ν©λλ€.
-= : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°μμ μ€λ₯Έμͺ½μ κ°μ λΊ ν λ€μ μΌμͺ½μ κ°μ λμ
ν©λλ€.
*= : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°κ³Ό μ€λ₯Έμͺ½ κ°μ κ³±ν ν λ€μ μΌμͺ½μ κ°μ λμ
ν©λλ€.
/= : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°μ μ€λ₯Έμͺ½ κ°μΌλ‘ λλ ν λ€μ μΌμͺ½μ κ°μ λμ
ν©λλ€.
%= : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°μ μ€λ₯Έμͺ½ κ°μΌλ‘ λλ ν λ¨μ λλ¨Έμ§λ₯Ό λ€μ μΌμͺ½μ κ°μ λμ
ν©λλ€.
++a : aμ κ°μ 1 μ¦κ°μν¨ ν μ°μ°μ μ§νν©λλ€.
a++ : μ°μ°μ μ§νν ν aμ κ°μ 1 μ¦κ°μν΅λλ€.
--a : aμ κ°μ 1 κ°μμν¨ ν μ°μ°μ μ§νν©λλ€.
a-- : μ°μ°μ μ§νν ν aμ κ°μ 1 κ°μμν΅λλ€.
== : λ κ°μ κ°μ΄ κ°μ΅λλ€.
!= : λ κ°μ κ°μ΄ λ€λ¦
λλ€.
> : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°μ΄ μ€λ₯Έμͺ½μ κ°λ³΄λ€ ν½λλ€.
< : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°μ΄ μ€λ₯Έμͺ½μ κ°λ³΄λ€ μμ΅λλ€.
>= : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°μ΄ μ€λ₯Έμͺ½μ κ°λ³΄λ€ ν¬κ±°λ κ°μ΅λλ€.
<= : μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ κ°μ΄ μ€λ₯Έμͺ½μ κ°λ³΄λ€ μκ±°λ κ°μ΅λλ€.
! : νΌμ°μ°μμ κ²°κ³Όλ₯Ό λͺ¨λ λ°λλ‘ λ§λλλ€.
&& : νΌμ°μ°μκ° λͺ¨λ μ°Έμ΄μ΄μΌλ§ trueλ₯Ό 리ν΄ν©λλ€.
|| : νΌμ°μ°μ λ μ€μ νλκ° μ°Έμ΄λ©΄ trueλ₯Ό 리ν΄ν©λλ€.
μ£Όμ΄μ§ μ‘°κ±΄μ΄ trueμΌ λλ§ λ΄λΆμ μ½λ λΈλ‘μ μ€ννλ 쑰건문μ
λλ€.
if(μν 쑰건) {
μννκ³ μΆμ μΌ
}
trueμ΄λ©΄ if λΈλ‘ λ΄λΆμ μ½λκ° μ€νλ©λλ€. falseλ©΄ else λΈλ‘ λ΄λΆμ μ½λκ° μ€νλ©λλ€. if(μν 쑰건) {
μν 쑰건 λ§μ‘± μ μν
} else {
μν 쑰건 λΆλ§μ‘± μ μν
}
첫 λ²μ§Έ 쑰건(μν 쑰건1)μ΄ trueμ΄λ©΄ ν΄λΉ μ½λ λΈλ‘μ΄ μ€νλ©λλ€.
μν 쑰건1μ΄ falseμ΄κ³ , else if λ€μ μν 쑰건2κ° trueλΌλ©΄ ν΄λΉ λΈλ‘μ΄ μ€νλ©λλ€.
λͺ¨λ μ‘°κ±΄μ΄ falseμΌ κ²½μ° else λΈλ‘μ΄ μ€νλ©λλ€.
if(μν 쑰건) {
μν 쑰건1 λ§μ‘± μ μν
} else if(μν 쑰건2) {
μν 쑰건2 λΆλ§μ‘± μ μν
} else {
μν 쑰건1, μν 쑰건2 λΆλ§μ‘± μ μν
}
λ°λ³΅ 쑰건μ λ§μ‘±νλ λμ λ°λ³΅ λ¬Έμ₯μ μννκ³ , 쑰건μ λ§μ‘±νμ§ μμΌλ©΄ whileλ¬Έμ λΉ μ Έ λκ°λλ€.
while(λ°λ³΅ 쑰건) {
λ°λ³΅ λ¬Έμ₯
}
while λ¬Έ μμ λ λ€λ₯Έ while λ¬Έμ΄ λ€μ΄κ°λ ννλ₯Ό μ΄μ€ whileλ¬Έμ΄λΌκ³ ν©λλ€. νλμ λ°λ³΅λ¬Έμ΄ μ€νλλ λμ λ΄λΆμ λ°λ³΅λ¬Έλ ν¨κ» μ€νλ©λλ€.
while(λ°λ³΅ 쑰건) {
λ°λ³΅ λ¬Έμ₯1
while(λ°λ³΅ 쑰건2) {
λ°λ³΅ λ¬Έμ₯2
}
}
for λ¬Έμ λ°λ³΅ νμκ° μ ν΄μ Έ μμ λ μ¬μ©νλ λ°λ³΅λ¬Έμ
λλ€.
for(μ΄κΈ°λ¬Έ; 쑰건문; μ¦κ°λ¬Έ) {
λ°λ³΅ λ¬Έμ₯
}
μ΄κΈ°λ¬Έ: λ°λ³΅μ μμνκΈ° μ μ μ€νλλ©°, λ³΄ν΅ λ³μμ μ΄κΈ°κ°μ μ€μ ν©λλ€.
쑰건문: λ°λ³΅μ΄ κ³μλ μ§ κ²°μ νλ 쑰건μ λλ€. trueμΌ λ λ°λ³΅μ΄ μ€νλ©λλ€.
μ¦κ°λ¬Έ: λ°λ³΅μ΄ λλ λλ§λ€ μ€νλλ©°, λ³΄ν΅ λ³μ κ°μ μ¦κ° λλ κ°μμν΅λλ€.
λ°λ³΅λ¬Έ λ΄λΆμμ νΉμ μ‘°κ±΄μ΄ λλ©΄ breakλ₯Ό μ€ννμ¬ λ°λ³΅λ¬Έμ λΉ μ Έλκ°κ² ν©λλ€. μ£Όλ‘ μ‘°κ±΄μ λ§μ‘±ν λ λ°λ³΅λ¬Έμ μ€λ¨νκ³ μΆμ λ μ¬μ©λ©λλ€.
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
printf("%d ", i);
}
// 0 1 2 3 4
λ°λ³΅λ¬Έ λ΄λΆμμ νΉμ μ‘°κ±΄μ΄ λλ©΄ continueλ₯Ό μ€ννμ¬ continue λ¬Έ μ΄νμ μνμ 무μνκ³ , λ€μ λ°λ³΅λ¬Έμ μμμ μΌλ‘ λμκ°κ² ν©λλ€.
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
printf("%d ", i);
}
// 0 1 2 3 4 6 7 8 9
λλμ΄μ μ²λ¦¬νκΈ° μν λͺ©μ , μ½λμ κ°λ μ± ν₯μ, μ½λμ μ μ§ λ³΄μ λ° νμ₯ μ©μ΄
μλ£ν ν¨μμ΄λ¦(μΈμλͺ©λ‘) {
ν¨μ λ΄μ©
}
μ¬μ©μκ° μμ μ΄ μνλ κΈ°λ₯μ μ§μ λ§λ€ μ μμ΅λλ€.
#include <stdio.h>
int Add(int i, int j) {
return i + j;
}
int main() {
int a = 10;
int b = 20;
int c = 0;
c = Add(a, b);
printf("%d\n", c); // 30
return 0;
}
μΈμ΄μμ κΈ°λ³Έμ μΌλ‘ μ 곡ν΄μ£Όλ ν¨μμ λλ€. ν¨μλ₯Ό λΌμ΄λΈλ¬λ¦¬ν μμΌμ νΈλ¦¬νκ² μ¬μ©ν μ μκ² ν©λλ€.
printf() : μΆλ ₯ ν¨μ
scanf() : μ
λ ₯ ν¨μ
κ²°κ³Όκ°μ 리ν΄νμ§ μλ ν¨μμ λλ€.
void printMessage() {
printf("Hello, World!\n");
}
νΉμ μ½λ λΈλ‘μμ μ μΈλλ©°, ν΄λΉ λΈλ‘μ΄ μ€νλ λ μμ±λκ³ , μ€νμ΄ λλλ©΄ μλ©Ένλ λ³μμ λλ€.
ν¨μ μΈλΆμμ μ μΈλλ©°, νλ‘κ·Έλ¨ μμ μ λ©λͺ¨λ¦¬μ ν λΉλκ³ , νλ‘κ·Έλ¨μ΄ μ’ λ£λ λκΉμ§ μ μ§λ©λλ€.
μ§μλ³μμ²λΌ νΉμ μ½λ λΈλ‘ λ΄μμ μ μΈλμ§λ§, ν λ² λ©λͺ¨λ¦¬μ μ μ₯λλ©΄ νλ‘κ·Έλ¨μ΄ μ’ λ£λ λκΉμ§ μ μ§λ©λλ€.
#include <stdio.h>
void func() {
static int count = 0;
count++;
printf("static λ³μ count: %d\n", count);
}
int main() {
func(); // 1
func(); // 2
func(); // 3
return 0;
}
κ°μ μμ±μ κ°μ§ κ²λ€μ λμ΄ν΄ λμ κ²μ μλ―Έν©λλ€. μ μν λ³μ nκ°λ₯Ό μ μΈνλ κ²λ³΄λ€ λ°°μ΄μ μ¬μ©νλ©΄ νΈλ¦¬νλ€.
μλ£ν λ°°μ΄μ΄λ¦[λ°°μ΄μ κΈΈμ΄];
첫 λ²μ§Έ μΈλ±μ€λ 무쑰건 0λΆν° μμν©λλ€.
λ°°μ΄μ κΈΈμ΄λ₯Ό μλ΅ν΄λ ν λΉν κ°μ λ³΄κ³ μ»΄νμΌλ¬λ λ°°μ΄μ κΈΈμ΄λ₯Ό κ³μ°ν μ μμ΅λλ€.
λ°°μ΄λΌλ¦¬ 볡μ¬κ° κ°λ₯νμ§λ§ λ°°μ΄μ μμμ΄κΈ° λλ¬Έμ λμ μ°μ°μλ₯Ό ν΅ν΄ κ°μ λ겨 λ°μ μ μκ³ , μμλΌλ¦¬ 볡μ¬ν΄μΌ ν©λλ€.
λ¬Έμμ΄μ char λ°°μ΄μ μ΄μ©νμ¬ μ μ₯ν μ μμ΅λλ€. λ¬Έμμ΄ λμλ μλμΌλ‘ null λ¬Έμ(\0)κ° μΆκ°λ©λλ€.
char str[12] = "Hello World";
π€ λ¬Έμμ΄ λμ
nullλ¬Έμλ μ νμνκ±ΈκΉ?λ¬Έμμ΄μ λ¬Έμ λ°°μ΄(
char[])λ‘ μ μ₯λλλ°, λ°°μ΄ μ체λ ν¬κΈ°λ₯Ό μμ§λ§, λ¬Έμμ΄μ κΈΈμ΄λ μ μ μκΈ° λλ¬Έμ λ¬Έμμ΄μ λμ λͺ ννκ² νμνκΈ° μν΄nullμ΄ μ¬μ©λ©λλ€.
ν¬μΈν°λ ν¬μΈν° λ³μμ μ€μλ§λ‘ λ©λͺ¨λ¦¬μ μ£Όμκ°μ μ μ₯νκ³ μλ λ³μμ λλ€. μ¦, νΉμ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ°λ¦¬ν€κ³ μλ€λ λ»μ λλ€.
ν¬μΈν° λ³μ μ μΈ μ μΌλ° λ³μλͺ
μμ * κΈ°νΈλ₯Ό λΆμ¬ ννν©λλ€.
& κΈ°νΈλ₯Ό ν΅ν΄ λ³μμ μ£Όμκ°μ μ»μ μ μμ΅λλ€.
#include <stdio.h>
int main(void) {
int b = 100;
int *pB = &b;
printf("b = %d\n", b); // b = 100
printf("&b = %p\n", &b); // &b = 0x7ffeba62b72c
printf("*pB = %d\n", *pB); // *pB = 100
printf("pB = %p\n", pB); // pB = 0x7ffeba62b72c
return 0;
}
λ°°μ΄μ μ΄λ¦μ ν΄λΉ λ°°μ΄μ 첫 λ²μ§Έ μμμ μ£Όμκ°μ κ°μ΅λλ€. μ¦, 첫 λ²μ§Έ μμμ μ£Όμκ°μ κ°λ¦¬ν€λ ν¬μΈν°λΌλ μλ―Έμ λλ€.
β¨ λ°°μ΄μ μ΄λ¦μ μ£Όμκ°μ κ°λ ν¬μΈν°μ΄μ§λ§ μμμ΄λ―λ‘ μ£Όμκ°μ λ³κ²½ν μ μμ΅λλ€.
κΈ°λ³Έμ μΌλ‘ ν¨μμ λ³μλ₯Ό μ λ¬νλ©΄ κ°μ΄ 볡μ¬λμ΄ μ λ¬λ©λλ€. νμ§λ§ ν¬μΈν°λ₯Ό μ¬μ©νλ©΄ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό μ λ¬ν μ μμ΄, μλ³Έ λ°μ΄ν°λ₯Ό μ§μ μμ νκ±°λ μ κ·Όν μ μμ΅λλ€.
void func(int *pArr) {
for(int i = 0; i < 5; i++) {
printf("ν¨μ μμ λ°°μ΄ : %d\n", *(pArr + i));
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
func(arr);
return 0;
}
// ν¨μ μμ λ°°μ΄ μμ: 1
// ν¨μ μμ λ°°μ΄ μμ: 2
// ν¨μ μμ λ°°μ΄ μμ: 3
// ν¨μ μμ λ°°μ΄ μμ: 4
// ν¨μ μμ λ°°μ΄ μμ: 5
ν¬μΈν° μ°μ°κ³Ό λ°°μ΄, ν¨μ μΈμ μ λ¬ λ°©μμμ λ§μ΄ ν·κ°λ¦¬κ³ λ―μ€μμ§λ§, ν¨μ¨μ± μΈ‘λ©΄μμ μ’μ λ°©μμ΄λΌλ κ±Έ κΉ¨λ¬μλ€. μ¬λ¬ λ² λ³΄λ©΄μ μ΅μν΄μ ΈμΌκ² λ€..π