argv[]
dizisi aracılığıyla programın farklı argümanlarına erişen çeşitli işlevlere sahip olacağım. Şu anda, bu işlevler derleyicinin bu tür yapılara izin vermesini sağladığı bir dil uzantısı nedeniyle main()
işlevinin içine yerleştirilmiştir.argv [], main() işlevinin dışından nasıl erişilir?
İç içe geçmiş işlevlerden kurtulmak istiyorum, böylece bir dil uzantısına bağlı olmadan birlikte çalışabilirlik mümkündür.
Her şeyden önce, program başlatıldıktan sonra argv[]
işaretine işaret edecek bir dizi işaretçiyi düşündüm, bu değişken main()
işlevinin dışında olurdu ve işlevlerden önce bunların tarafından kullanılabileceği şekilde bildirildi.
char *(*name)[];
. Ben argv[]
yönlendirin çalıştığınızda Ancak, ben uyumsuz bir işaretçi türünden bir ödev üzerinde bir uyarı olsun:
name = &argv;
Sorun ne olabilir? main()
işlevinin dışından argv[]
dizisine erişmenin başka bir yolunu mu düşünüyorsunuz?
+1
olduğunu Değil Şimdiye kadar hata açıklayan. –
Açıklama için teşekkürler! 'Argv'' char * argv [] olarak kullanıyordum, bu yüzden başlangıçta bir dizi işaretçi düşündüm. – Sergi
@Johannes, @Sergi: Teşekkürler, C/C++ kitaplarının diziler ve işaretçilerdeki farklılıklar hakkında daha büyük bir vurgu yapmasını dilerim. Bunlar çok sık karışırlar ... –