Merhaba C dilinde Procedures konusunu bol örnekli şekilde anlatabilir misiniz ? |
Aslına bakarsak şahsen C++ ilgili sorularla ilgilenmek istiyordum. C diliyle alakalı değilim. Fakat C/C++ yakın diller olduğu için başka arkadaşlarda yardım ederler diye düşündüm. Ben c++ da procedures diye bir konu görmedim maalesef . Ama bulduğum birkaç örneği paylaşayım :
Ayrıca buradaki örneği incele bi.. http://en.wikibooks.org/wiki/C_Programming/Procedures_and_functions Örneğin sende şunu yazmaya çalış : Bir sayının ekrana tek veya çift olduğunu bulup yazdıran prosedür. Saygılarımla. |
Güzel başlık olmuş bence hocam forumun C ye olan ilgisi mi azaldı ne yaptı pek göremiyoruz. Şu sınavımı atlatıyım bende başlığı canlı tutacağım çok sorum olacak benimde ![]() ![]() |
wiki linki için ingilizcem az yanlız :/ fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki. zaten şu an lazım olan birşey değildi. birde register değişkenleri açıklayabilir misiniz ? |
Forumdan bir arkadaş sormuştu sayısı istenen yıldızlarla nasıl eşkenar üçgen yapılabilir diye yaptım ama pek temiz ve kısa olmadı , nerelerden nasıl kısaltılabilir ? Veya en baştan nasıl bir kod yazılabilir ? ![]() #include <stdio.h> |
REGISTER VARIABLE Bildiğiniz gibi c de bir değişken kullanıldığında bu memoryde bir bölgeye yazılır. Ve bu variable kullanılcağı zaman cpu bu veriyi bellekten alır kullanır ve tekrar geri yazar.Ama register variable kullandığımız zaman bu variable memory den bir bölgeye yazılmaz ve cpu nun register larında tutulur.Böylece erişim süresi çok kısalmış ve bir performans artışı salamış oluruz. Örn: #include <iostream> ÖNEMLİ NOT:Registerları yukarıdaki gibi basit şekilde kullanmak pek fazla önerilmez , özellikle performansın çok önemli olduğu uygulamalarda for while gibi loop ların içindeki variable lar gibi çok fazla erişim gerektiren variable lar için kullanmak akıllıca olucaktır. ÖNEMLİ NOT_2:Register variable nın cpu nun registerlarında tutulucağı garanti edilmez siz register olarak tanımlasanız bile compliler bunu gerekli görmeyim variableyı memory de tuta bilir. ÇOK ÖNEMLİ NOT_3:Register variableların addreslerini adress-of operatorü(&) ile almanız mümkün değildir.örn int *p = &c // bir register oldğunu var sayarsak compiler time error üretir.Tabi bu söyledipim sadece C için geçerli Aynı şeyi C++ da yaparsanız error almazsınız ve kodunuz çalışırı hatta adresini de alırsınız çünkü c++ compiler register variable ın adressi aldığınızı anlar ve register ifadesini ignore eder auto bir variable mış gibi çaltırır. |
Fakat açıkcası ben 1 Kere bile kullanmadım o prosedürleri bana daha çok işin teknik kısmı gibi geldi. ------------------------------- Register Değişkenler. Eğer bir değişken register sınıfından tanımlanmışsa, derleyici onu makinenin hızlı bellek yazmaçlarına yerleştirmeye çalışır. Bu tür yazmaçlardan sınırlı sayıda olduğu için, sadece ilk birkaç register değişkeni gerçekten yazmaçlarda saklanır, diğerleri otomatik değişkenler gibi işlem görürler. Yani, bir register bildirimi derleyiciye sadece bir öneri özelliği taşır. Böylece, eğer bir önceki alt kısımda tanımlanmış değişkenlere gerçekten hızlı erişmeyi istiyorsak.. Ayrıca Register değişkenlerin önüne & işaretçi operatörü koyularak kullanılamaz; işlemci saklayıcısının adresi olmaz. (Bu açıklama yeterli diye düşünüyorum.) |
Bana kalırsa temiz olmuş. Yani herhangi bir düzenlemeye gerek görmedim. Fakat mesela for() prinf(); Bu kısımları alt alta yazmak yerine aralarında birer boşluk bırakırsan kodlar daha rahat anlaşılır. |
Açıklamaya basit bir örnek ile devam edelim. Ama tekrar belirteyim bunlar bana işin sözel kısmı gibi geliyor. Yani pek kullanıldığını düşünmüyorum.
|
Bu c++ herhalde :) cevaplar için teşekkür ederim.birde kritik bir örnek varsa verebilir misiniz ? Tam register kullanmalik |
arkadaşlar acil bir konu var : öğrendiğim yerde Basit Veri Giriş Çıkışlarının altındaki Standart Çıkış Birimine Yapılacak Çıkışlar İşareti ile Başlayan Kontroller Klavyeden Veri Girişleri bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da internete de bakıyorum şimdi |
Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ? |
Sanirim şu print olaylarını anlatmış |
Kardeş kime yazıyorsun anlamadım vallahi.. Sorunu ayrıntılı bir şekilde açıkalr mısın ? |
Kusura bakma az önce bilgisayarı yaktım kafam yerinde.değil. ![]() |
Tamam sorun değil. Takıldığın yeri ayrıntılı bir şekilde açıklaki yardımcı olabilelim. ![]() |
/* '*'ler kullanarak kenar uzunlugu verilen kareyi cizer */ merhaba arkadaslar. C sinavim var iki gun sonra. bana yardim ederseniz cok sevinirim.. for dongusunu anlamakta gucluk cekiyorum biraz. yazdigim koddaki ic ice for lari bana anlatirsaniz cok sevinirim. ozellikle "sag ve sol kenarlarin cizimi" ile ilgili olan for u anlamakta guclukk cektim. bi sag kenara bi sol kenara yildiz koyuyor arada bosluk birakiyor, bunu yazdiran satir neresi? ornegin biz kenari 5 girdik diyelim output soyle oluyor: ***** * * * * * * ***** simdiden cok tesekkur ederim ![]() NOT:sekli cizerkenki bosluklari yazdim ama nedense yazmamisim gibi gorunmus anlamadim niye ![]() |
for'un tam olarak nesini anlamadın ? For'un görevi ( ;orta ; ) kısmındaki koşul sağlanana kadar altındaki işlemi tekrarlamaktır. Senin koduna detaylı bakmadım ama herhalde. Bir tane for * ların arasına boşluk veriyordur bide if ile kontrol sağlanıyordur. if koşulu sağlamadığında da sonuna yıldız koyuyordur. |
Merhaba arkadaşlar Fortran dilindeki bir matematiksel ifadeyi C e aktarıyorum hata ile karşılaşıyorum. Fortran da real ile tanımlanmış bir değişkenin cos' unu alıyorum.aynı sonucu C de float tanımladığım değişken ile yapıyorum sonuclar farklı cıkıyor...Nedendir acaba.? |
NOT : Bana şu programı yazabilir misiniz ? Tarzında sorulara cevap vermeyeceğim. Önce kendiniz yapabildiğiniz kadar yapın, takıldığınız yerlerde kodu koyup sorun yardımcı olalım..
İyi Çalışmalar.
< Bu mesaj bu kişi tarafından değiştirildi £XE -- 31 Ağustos 2012; 16:48:31 >