--- id: c-operators-assignment title: "C Assignment Operators" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["+= -= *=", "compound assignment", "C 대입 연산자"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.84 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["c", "programming-language", "w3schools", "operators", "assignment"] raw_sources: ["https://www.w3schools.com/c/c_operators_assignment.php"] applied_in: [] github_commit: "" --- # [[C Assignment Operators]] ## 🎯 한 줄 통찰 (One-line insight) Every compound assignment operator — including the bitwise ones (`&=`, `|=`, `^=`, `>>=`, `<<=`) covered later in the Bitwise chapter — follows the identical expansion pattern `x OP= y` ≡ `x = x OP y`, meaning learning this ONE rule (rather than memorizing 11 separate operators) is enough to understand every assignment shorthand in the language, arithmetic or bitwise alike. [S1] ## 🧠 핵심 개념 (Core concepts) - **`=`** — basic assignment. [S1] - **Arithmetic compound operators** — `+=`, `-=`, `*=`, `/=`, `%=`, each expanding to `x = x value`. [S1] - **Bitwise compound operators** — `&=`, `|=`, `^=`, `>>=`, `<<=`, following the SAME expansion pattern as the arithmetic ones. [S1] - **Purpose** — pure shorthand for readability/brevity; functionally identical to the fully-spelled-out form. [S1] ## 📖 세부 내용 (Details) - Full expansion table: `x += 3` ≡ `x = x + 3`; `x -= 3` ≡ `x = x - 3`; `x *= 3` ≡ `x = x * 3`; `x /= 3` ≡ `x = x / 3`; `x %= 3` ≡ `x = x % 3`; `x &= 3` ≡ `x = x & 3`; `x |= 3` ≡ `x = x | 3`; `x ^= 3` ≡ `x = x ^ 3`; `x >>= 3` ≡ `x = x >> 3`; `x <<= 3` ≡ `x = x << 3`. [S1] - Real-life savings tracker: `int savings = 100; savings += 50; // add 50 to savings printf("Total savings: %d\n", savings);`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - 현재까지 발견된 모순 사항 없음 (No contradictions found in available sources). ## 🛠️ 적용 사례 (Applied in summary) 저축액에 50을 더하는 savings += 50 예제가 원문에서 직접 실전 활용 사례로 제시됨(계좌 잔액 누적 갱신). [S1] ## 💻 코드 패턴 (Code patterns) Tracking a running total using the compound addition-assignment operator (C): ```c int savings = 100; savings += 50; // add 50 to savings printf("Total savings: %d\n", savings); ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.84 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[C Tutorial]] - **관련 개념:** [[C Operators Arithmetic]], [[C Operators Comparison]], [[C Bitwise Operators]] - **참조 맥락:** 대입 연산자 — 비교 연산자(Operators Comparison) 챕터로 이어짐, 비트 대입 연산자는 Bitwise Operators 챕터와 연결. ## 📚 출처 (Sources) - [S1] W3Schools — C Assignment Operators — https://www.w3schools.com/c/c_operators_assignment.php ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "C Assignment Operators" page (Astra wiki-curation, P-Reinforce v3.1 format).