Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kelas penyimpanan dalam C

Kelas penyimpanan dalam C

PHPz
PHPzke hadapan
2023-09-11 18:33:03917semak imbas

Kelas penyimpanan dalam C

Dalam bahasa C, ciri pembolehubah dan fungsi diterangkan oleh kelas storan, seperti keterlihatan dan skop pembolehubah atau fungsi.

Terdapat empat jenis kelas storan dalam bahasa C: pembolehubah automatik, pembolehubah luaran, pembolehubah statik dan pembolehubah daftar.

auto

Kelas storan automatik ialah kelas storan lalai untuk semua pembolehubah tempatan. Ia dicipta apabila fungsi dipanggil. Apabila pelaksanaan fungsi selesai, pembolehubah dimusnahkan secara automatik.

Ia juga dipanggil pembolehubah tempatan kerana ia adalah pembolehubah tempatan fungsi. Secara lalai, pengkompil memberikan nilai sampah kepada mereka.

Skop - Pembolehubah automatik ialah pembolehubah tempatan bagi blok fungsi.

Nilai lalai - Nilai sampah ialah nilai permulaan lalai.

Lifetime - auto Jangka hayat pembolehubah dihadkan oleh blok di mana ia ditakrifkan.

Ini ialah contoh pembolehubah auto dalam bahasa C,

Contoh

Demonstrasi langsung

#include <stdio.h>
int main() {
   auto int a = 28;
   int b = 8;
   printf("The value of auto variable : %d</p><p>", a);
   printf("The sun of auto variable & integer variable : %d", (a+b));
   return 0;
}
#🎜🎜🎜 🎜#
The value of auto variable : 28
The sun of auto variable & integer variable : 36

extern

Pembolehubah luaran juga dipanggil pembolehubah global. Pembolehubah ini ditakrifkan di luar fungsi. Pembolehubah ini tersedia secara global sepanjang pelaksanaan fungsi. Nilai pembolehubah global boleh diubahsuai melalui fungsi.

Skop -

Mereka tidak terikat dengan sebarang fungsi. Mereka berada di mana-mana dalam program ini, iaitu secara global.

Nilai lalai -

Nilai permulaan lalai pembolehubah global ialah sifar.

Kitaran hayat -

> Sehingga tamat perlaksanaan program. Berikut ialah contoh pembolehubah luar dalam bahasa C,

Contoh

Demonstrasi langsung

rreee#🎜🎜🎜 🎜 #
#include <stdio.h>
extern int x = 32;
int b = 8;
int main() {
   auto int a = 28;
   extern int b;
   printf("The value of auto variable : %d</p><p>", a);
   printf("The value of extern variables x and b : %d,%d</p><p>",x,b);
   x = 15;
   printf("The value of modified extern variable x : %d</p><p>",x);
   return 0;
}

statik

Pembolehubah statik dimulakan sekali sahaja. Pengkompil mengekalkan pembolehubah ini sehingga akhir program. Pembolehubah statik boleh ditakrifkan di dalam atau di luar fungsi.

Skop -

Ia adalah pembolehubah setempat kepada blok.

Nilai lalai - > Nilai permulaan lalai ialah sifar.

Kitaran hayat - Sehingga tamat pelaksanaan program.

Berikut ialah contoh pembolehubah statik dalam bahasa C, Contoh

Demonstrasi langsung

The value of auto variable : 28
The value of extern variables x and b : 32,8
The value of modified extern variable x : 15
#🎜🎜🎜 🎜#
#include <stdio.h>
int main() {
   auto int a = -28;
   static int b = 8;
   printf("The value of auto variable : %d</p><p>", a);
   printf("The value of static variable b : %d</p><p>",b);
   if(a!=0)
   printf("The sum of static variable and auto variable : %d</p><p>",(b+a));
   return 0;
}

register

Daftar pembolehubah memberitahu pengkompil untuk menyimpan pembolehubah dalam daftar CPU dan bukannya dalam memori. Pembolehubah yang kerap digunakan disimpan dalam daftar, di mana ia mempunyai kebolehaksesan yang lebih pantas. Kita tidak boleh mendapatkan alamat pembolehubah ini.

Skop -

Ia terhad kepada bahagian dalam fungsi.

Nilai lalai -

Nilai permulaan lalai ialah sampah.

Kitaran Hayat -

Sebelum pelaksanaan blok kod yang mentakrifkannya berakhir. Berikut ialah contoh pembolehubah daftar dalam C:

ContohDemonstrasi Dalam Talian

rreee#🎜🎜🎜 🎜#
The value of auto variable : -28
The value of static variable b : 8
The sum of static variable and auto variable : -20

Atas ialah kandungan terperinci Kelas penyimpanan dalam C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam