Bileşik Deyim (C)

Bileşik deyim ("blok" olarak da adlandırılır) genellikle deyimi gibi başka bir deyimin if gövdesi olarak görünür. Bildirimler ve Türler , bileşik deyiminin başında görünebilen bildirimlerin biçimini ve anlamını açıklar.

Sözdizimi

compound-statement:
  { declaration-list Tercihstatement-listTercih}

declaration-list:
 declaration
  declaration-list declaration

statement-list:
 statement
  statement-list statement

Bildirim varsa, herhangi bir ifadeden önce gelmeleri gerekir. Bileşik deyiminin başında bildirilen her tanımlayıcının kapsamı, bildirim noktasından bloğun sonuna kadar uzanır. Bir iç blokta aynı tanımlayıcının bildirimi yoksa, blok boyunca görünür.

Bileşik deyimdeki tanımlayıcılar, yalnızca olabilir işlevler dışında , veya ile açıkça bildirilmediği sürece varsayılır autoextern.registerexternstatic İşlev bildirimlerinde tanımlayıcıyı extern devre dışı bırakabilirsiniz ve işlev yine olur extern.

Bir değişken veya işlev depolama sınıfına externsahip bir bileşik deyimde bildirilirse depolama ayrılmaz ve başlatmaya izin verilmez. Bildirim, başka bir yerde tanımlanan bir dış değişkene veya işleve başvurur.

veya register anahtar sözcüğüyle auto bir blokta bildirilen değişkenler yeniden yerleştirilir ve gerekirse bileşik deyim her girildiğinde başlatılır. Bileşik deyimden çıkıldıktan sonra bu değişkenler artık tanımlanmamıştır. Bir bloğun içinde bildirilen bir değişken özniteliğine static sahipse, program yürütme başladığında ve değerini program genelinde tuttuğunda değişken başlatılır. hakkında staticbilgi için bkz. Depolama Sınıfları.

Bu örnekte bileşik bir deyim gösterilmektedir:

if ( i > 0 )
{
    line[i] = x;
    x++;
    i--;
}

Bu örnekte, 0'dan büyükse i bileşik deyimi içindeki tüm deyimler sırayla yürütülür.

Ayrıca bakınız

Raporlar