User account menu

  • Giriş yapın
Anasayfa
Kozmotronik Blog
Yıldız tozundan teknolojiye!

Main navigation

  • Anasayfa
  • Kategoriler
    • Elektronik
    • Programlama
      • Gömülü Programlama
      • Mobil Programlama
    • Programlama Dilleri
  • Seriler
    • Android Bluetooth Programlama
    • JAL Başvuru Kılavuzu
    • Görevci ile Sistem Programlama
  • Projeler
    • Görevci
  • Hakkında

JAL | 2.2. Diziler

Sayfa yolu

  • Anasayfa
  • JAL | 2.2. Diziler
Yazar: İsmail Sahillioğlu | Temmuz 20, 2019
JAL | Diziler

JAL tek boyutlu değişken dizileri oluşturabilir ve bunları organize edebilir. Bit türü dizi oluşturmak için kullanılamaz, donanım yapısına uygun değildir. Bit dışındaki türlerin herhangi biriyle değişken dizileri oluşturulabilir. Dizi tanımlama biçimi aşağıdaki gibidir:

VAR "değişken türü" "değişken adı" ["dizi niceliği"] = {"dizi ögeleri"}

dizi ögeleri 0'dan itibaren sayılandırılmaya başlanır ve son indeks dizi niceliği - 1 olur. Örneğin dizi niceliği 5 olarak tanımlanırsa, dizi ögeleri'nin indeksleri aşağıdaki gibi olacaktır:

İndeksÖgeler
0öge1
1öge2
2öge3
3öge4
4öge5

Dizinin ögelerine erişim köşeli parantezler [n] içine yazılacak n sayı değeri ile yapılır. Bu sayı değeri ögenin bellekteki sıra numarasıdır. Köşeli parantezlerin içine yazılan bu sayıya programlamada indeks (index) ya da indis numarası denir.

Bu ögelerin bellek hücrelerindeki yerleşimleri tanımlanan değişken türüne bağlı olacaktır. Burası biraz alt seviyenin yani donanımın derleyici tarafından nasıl organize edildiği ile ilgili bir konudur. Aşağıda bütün türler için niceliği 5 olan bir dizinin 8-bitlik bir mikrodenetleyici belleğinde nasıl organize edildiği gösteriliyor.

Bellek AdresiBYTE ve SBYTE İndeksÖgelerin YerleşimiWORD ve SWORD İndeksÖgelerin YerleşimiDWORD, SDWORD ve FLOAT İndeksÖgelerin Yerleşimi
320Öge-10Öge-1.10Öge-1.1
331Öge-2 Öge-1.2 Öge-1.2
342Öge-31Öge-2.1 Öge-1.3
353Öge-4 Öge-2.2 Öge-1.4
364Öge-52Öge-3.11Öge-2.1
37   Öge-3.2 Öge-2.2
38  3Öge-4.1 Öge-2.3
39   Öge-4.2 Öge-2.4
40  4Öge-5.12Öge-3.1
41   Öge-5.2 Öge-3.2
42     Öge-3.3
43     Öge-3.4
44    3Öge-4.1
45     Öge-4.2
46     Öge-4.3
47     Öge-4.4
48    4Öge-5.1
49     Öge-5.2
50     Öge-5.3
51     Öge-5.4

BYTE türünden büyük olan türler bellekte organize edilirken yerleşim çizelgesinde görüldüğü gibi bellek genişliğinin 8-bit olmasından dolayı baytlara bölünürler. Aslında alt seviyede yani makinede byte ve bit dışında bir şey yoktur, ne tür değişken kullanırsak kullanalım değişkenler bir şekilde baytlara dönüştürülecektir. Bu yüzden 1 bayttan büyük ögeleri yerleşim çizelgesinde gösterirken bir değişken değerine ait tüm baytları numaralandırıp nokta ile o değişkene bağladım. Böylece değişkenle derleyici editöründe çalışırken tek bir parça olarak çalışırız ve derleyici bu değeri baytlara bölme ve belleği organize etme işini bizim yerimize üstlenir.

Buna göre örneğin bir DWORD türünde SAYAC adlı bir değişkenle çalışıyor olalım. Bu değişken değeri derleyicide: SAYAC, bellekte (temsilen): SAYAC.1, SAYAC.2, SAYAC.3, SAYAC.4 olarak 4 bayta bölünüp saklanır.

Alt seviye bilgisini geride bıraktıktan sonra seviyemizi yükseltip kendi seviyemize dönelim. Birkaç dizi tanımlama örneği yapalım, nasıl oluşturulur görelim ve konuyu sonlandıralım.

var byte kimlikNo[10]
var byte HEX_ASC2[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}
var word mesafe_m[] = {16864, 32077, 48920, 62051}
var sdword yukseklik[]
var float konum[] = {15.3, -77.8, 19083.87, -1287.387, 248.66}
Manual de referencia
JAL
Lenguajes de programación
Programlama Dilleri
JAL Başvuru Kılavuzu
  • < prev
  • All
  • next >

20 of 34

Sorumluluk Reddi

Bu site bilgilendirme amaçlıdır. Burada sunulan bilgileri, uygulayıcı kendi sorumluluğu altında uygular. Bu bilgilerin uygulanması sırasında ihmal, dikkatsizlik, konuyla ilgili bilgi eksikliği veya yanlış uygulama nedeniyle meydana gelebilecek hasarlardan, can veya mal kaybından, maddi veya fiziksel kayıplardan tamamen uygulayıcı sorumlu olup site ve yazarları sorumlu tutulamaz.

Projects

Görevci

Monthly archive

  • Şubat 2017 (2)
  • Mart 2017 (1)
  • Nisan 2017 (1)
  • Mart 2019 (1)
  • Nisan 2019 (1)
  • Temmuz 2019 (3)
  • Eylül 2019 (1)
  • Ekim 2019 (1)
  • Mart 2020 (1)
  • Ağustos 2020 (3)
Sayfalama
  • Sayfa 1
  • Sonraki sayfa ››

Footer menu

  • İletişim

Copyright © 2026 Kozmotronik Tech - All rights reserved

Kozmotronik Tech