Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

Variabelen in C: Types, naamgevingsregels en geheugenbeheer

Wat is een variabele?

Een variabele is een benoemde opslaglocatie in het geheugen. Elke variabele heeft een type dat bepaalt: grootte, layout, waardenbereik en toegestane bewerkingen.

Basistypes voor variabelen

Andere types: enum, pointers, arrays, structs, unions – worden later behandeld.

Variabeledefinitie

Syntaxis: type variabele_lijst;

int i, j, k;
char c, ch;
float f, salary;
double d;

Initialisatie bij definitie:

int d = 3, f = 5;
char x = 'x';
double pi = 3.14159;

Zonder initialisatie: statische variabelen → 0/NULL, automatische (lokale) → ongedefinieerde waarde ("garbage").

Variabeledeclaratie vs definitie

  • Declaratie – beloof dat variabele bestaat (extern int a;), geen geheugen gereserveerd
  • Definitie – reserveert daadwerkelijk geheugen

Meerdere declaraties mogelijk, maar één definitie per programma.

Voorbeeld: declaratie bovenaan, definitie in main

#include <stdio.h>

extern int a, b;   // declaraties
extern int c;
extern float f;

int main() {
    int a, b;      // definities
    int c;
    float f;

    a = 10; b = 20;
    c = a + b;
    printf("c = %d\n", c);

    f = 70.0 / 3.0;
    printf("f = %f\n", f);
    return 0;
}

Lvalues en Rvalues

  • lvalue – verwijst naar geheugenlocatie (kan links van = staan), bijv. variabelen
  • rvalue – datawaarde, geen adres (alleen rechts van =), bijv. literals: 10, 'a'
int g = 20;  // geldig: g is lvalue
10 = 20;     // fout: 10 is rvalue

Scope en levensduur (kort)

  • Lokaal – in functie/blok, alleen zichtbaar daar, levensduur = functie-aanroep
  • Globaal – buiten functies, zichtbaar overal na declaratie, levensduur = programma
  • Formeel parameter – lokaal voor functie, overschaduwt globale naam

Zie volgende artikelen voor diepgang over static, extern, register, auto.

C Taal

  1. C# Variabelen & Primitive Datatypes onder de knie krijgen: Complete gids
  2. Variabele Scope in C#: Klasse-, Methode- en Blokniveau
  3. C++ variabelen, literalen en constanten: een uitgebreide gids
  4. C Variabelen, Constanten en Literals: Een Complete Gids
  5. C-opslagklassen begrijpen: Bereik, levensduur en prestaties
  6. C++ Variabelen en Datatypes: Expert‑handleiding voor int, double, char, string, bool
  7. C-scoperegels: Lokale, globale en formele variabelen
  8. Verilog-toewijzingen begrijpen: types, syntax en best practices
  9. Python's Global Keyword onder de knie krijgen: Hoe en wanneer te gebruiken
  10. Java-variabelen en literals: een uitgebreide gids
  11. Java Variabele Typen: Uitgebreide Gids
TypeBeschrijving
char1 byte, integer-type (vaak voor karakters)
intNatuurlijke machine-integer-grootte (meestal 4 bytes)
floatEnkelvoudige precisie floating-point (4 bytes)
doubleDubbele precisie floating-point (8 bytes)
voidAfwezigheid van type (alleen voor pointers/functies)