Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Kelas Penyimpanan C

Kelas Penyimpanan C

Dalam tutorial ini, Anda akan belajar tentang ruang lingkup dan masa pakai variabel lokal dan global. Selain itu, Anda akan belajar tentang variabel statis dan register.

Setiap variabel dalam pemrograman C memiliki dua properti:tipe dan kelas penyimpanan.

Type mengacu pada tipe data dari sebuah variabel. Dan, kelas penyimpanan menentukan cakupan, visibilitas, dan masa pakai variabel.

Ada 4 jenis kelas penyimpanan:

  1. otomatis
  2. eksternal
  3. statis
  4. daftar

Variabel Lokal

Variabel yang dideklarasikan di dalam blok adalah variabel otomatis atau lokal. Variabel lokal hanya ada di dalam blok di mana ia dideklarasikan.

Mari kita ambil contoh.

#include <stdio.h>

int main(void) {
  
  for (int i = 0; i < 5; ++i) {
     printf("C programming");
  }
  
 // Error: i is not declared at this point
  printf("%d", i);  
  return 0;
}

Saat Anda menjalankan program di atas, Anda akan mendapatkan kesalahan undeclared identifier i . Itu karena i dideklarasikan di dalam for blok lingkaran. Di luar blok, itu tidak diumumkan.

Mari kita ambil contoh lain.


int main() {
    int n1; // n1 is a local variable to main()
}

void func() {
   int n2;  // n2 is a local variable to func()
}

Pada contoh di atas, n1 lokal untuk main() dan n2 lokal ke func() .

Ini berarti Anda tidak dapat mengakses n1 variabel di dalam func() karena hanya ada di dalam main() . Demikian pula, Anda tidak dapat mengakses n2 variabel di dalam main() karena hanya ada di dalam func() .


Variabel Global

Variabel yang dideklarasikan di luar semua fungsi dikenal sebagai variabel eksternal atau global. Mereka dapat diakses dari fungsi apa pun di dalam program.


Contoh 1:Variabel Global

#include <stdio.h>
void display();

int n = 5;  // global variable

int main()
{
    ++n;     
    display();
    return 0;
}

void display()
{
    ++n;   
    printf("n = %d", n);
}

Keluaran

n = 7

Misalkan, variabel global dideklarasikan dalam file1 . Jika Anda mencoba menggunakan variabel itu di file lain file2 , kompiler akan mengeluh. Untuk mengatasi masalah ini, kata kunci extern digunakan dalam file2 untuk menunjukkan bahwa variabel eksternal dideklarasikan dalam file lain.


Daftarkan Variabel

register kata kunci digunakan untuk mendeklarasikan variabel register. Variabel register seharusnya lebih cepat daripada variabel lokal.

Namun, kompiler modern sangat baik dalam pengoptimalan kode, dan ada kemungkinan langka bahwa menggunakan variabel register akan membuat program Anda lebih cepat.

Kecuali Anda bekerja pada sistem tertanam di mana Anda tahu cara mengoptimalkan kode untuk aplikasi yang diberikan, tidak ada penggunaan variabel register.


Variabel Statis

Variabel statis dideklarasikan dengan menggunakan static kata kunci. Misalnya;

static int i;

Nilai variabel statis tetap ada hingga akhir program.


Contoh 2:Variabel Statis

#include <stdio.h>
void display();

int main()
{
    display();
    display();
}
void display()
{
    static int c = 1;
    c += 5;
    printf("%d  ",c);
}

Keluaran

6 11

Selama pemanggilan fungsi pertama, nilai c diinisialisasi ke 1. Nilainya bertambah 5. Sekarang, nilai c adalah 6, yang tercetak di layar.

Selama panggilan fungsi kedua, c tidak diinisialisasi ke 1 lagi. Itu karena c adalah variabel statis. Nilai c meningkat 5. Sekarang, nilainya akan menjadi 11, yang tercetak di layar.


Bahasa C

  1. Variabel C# dan Tipe Data (Primitif)
  2. C# Lingkup Variabel
  3. C# Kata Kunci statis
  4. Template Kelas C++
  5. C Variabel, Konstanta dan Literal
  6. Variabel dan Tipe C++:int, double, char, string, bool
  7. Java - Tipe Variabel
  8. C - Variabel
  9. C - Kelas Penyimpanan
  10. C - Aturan Lingkup