Aracılığıyla paylaş


Parametreler

Bağımsız değişkenler, işlev çağrısı tarafından işleve geçirilen değerlerin adlarıdır. Parametreler, işlevin almayı beklediği değerlerdir. İşlev prototipinde, işlev adını izleyen parantezler işlevin parametrelerinin ve türlerinin tam listesini içerir. Parametre bildirimleri, parametrelerde depolanan değerlerin türlerini, boyutlarını ve tanımlayıcılarını belirtir.

Sözdizimi

function-definition:
declaration-specifiersopt attribute-seqopt opt declarator declaration-list compound-statement

/* attribute-seq Microsoft'a özgü */

declarator:
pointerTercih direct-declarator

direct-declarator: /* İşlev bildirimcisi */
direct-declarator ( parameter-type-list ) /* Yeni stil bildirimcisi */
direct-declarator ( identifier-listopt ) /* Eski stil bildirimci */

parameter-type-list: /* Parametre listesi */
parameter-list
parameter-list , ...

parameter-list:
parameter-declaration
parameter-list , parameter-declaration

parameter-declaration:
declaration-specifiers declarator
declaration-specifiersabstract-declaratorTercih

parameter-type-list, virgülle ayrılmış parametre bildirimleri dizisidir. Parametre listesindeki her parametrenin biçimi şöyle görünür:

registertercih et type-specifier declarator

özniteliğiyle auto bildirilen işlev parametreleri hata oluşturur. Parametrelerin tanımlayıcıları işlev gövdesinde işleve geçirilen değerlere başvurmak için kullanılır. Parametreleri bir prototipte adlandırabilirsiniz, ancak adlar bildirimin sonunda kapsamın dışına çıkar. Bu, parametre adlarının işlev tanımında aynı şekilde veya farklı şekilde atanabileceği anlamına gelir. Bu tanımlayıcılar işlev gövdesinin en dış bloğunda yeniden tanımlanamaz, ancak parametre listesi kapsayan bir blokmuş gibi iç içe yerleştirilmiş bloklarda yeniden tanımlanabilir.

içindeki parameter-type-list her tanımlayıcının önünde, bu örnekte gösterildiği gibi uygun tür tanımlayıcısı bulunmalıdır:

void new( double x, double y, double z )
{
    /* Function body here */
}

Parametre listesinde en az bir parametre oluşursa, liste virgülle ve ardından üç noktayla (, ...) bitebilir. "Üç nokta gösterimi" olarak adlandırılan bu yapı işlevin değişken sayıda bağımsız değişkenini gösterir. (Daha fazla bilgi için bkz. Değişken Sayıda Bağımsız Değişken içeren çağrılar.) Ancak, işlev çağrısının en az son virgülden önce parametreler olduğu kadar çok bağımsız değişkeni olmalıdır.

İşleve hiçbir bağımsız değişken geçirilmiyorsa, parametre listesi anahtar sözcüğüyle voiddeğiştirilir. bu kullanımı void , tür tanımlayıcısı olarak kullanımından farklıdır.

Üç nokta gösteriminin herhangi bir kullanımı dahil olmak üzere parametrelerin sırası ve türü, tüm işlev bildirimlerinde (varsa) ve işlev tanımında aynı olmalıdır. Her zamanki aritmetik dönüştürmelerden sonraki bağımsız değişkenlerin türleri, ilgili parametrelerin türleriyle atama uyumlu olmalıdır. (Bkz. Aritmetik dönüştürmeler hakkında bilgi için Olağan Aritmetik Dönüşümler.) Üç noktayı izleyen bağımsız değişkenler denetlenmiyor. Bir parametre herhangi bir temel, yapı, birleşim, işaretçi veya dizi türüne sahip olabilir.

Derleyici, gerekirse her parametrede ve her bağımsız değişkende her zamanki aritmetik dönüştürmeleri bağımsız olarak gerçekleştirir. Dönüştürme işleminden intsonra, parametre türü prototipte olduğu gibi float açıkça belirtilmediği sürece hiçbir parametre bir değerinden kısa değildir ve hiçbir parametre türüne sahip float değildir. Örneğin, bir parametreyi olarak char bildirmenin, bunu olarak bildirmeyle aynı etkiye sahip olduğu intanlamına gelir.

Ayrıca bkz.

C İşlev Tanımları