Bir dizideki üçüncü öğeye bir uint8_t
işaretçi nokta koyduğumu varsayalım, {1, 2, 4, 5} yani *p
4'tür. Bunu nasıl gösterebilirim? Böylece 4 ve 5'e kadar *p
45'dir. Bu mümkün mü? Şu anda yazım yapıyorum. İşte yaptığım şey, ör. verilerim dizi ise {1, 2, 4, 5} ve ben 4 ve 5.İki veya daha fazla arka arkaya hücrelere işaretçi noktası oluşturma
uint8_t dummyAddress = data[2];
dummyAddress = *((uint16_t*) dummyAddress);
*p = *dummyAddress;
Benim anlayış p şimdi 4. ve 5. işaret gerektiğidir almak istiyorum ama değilim. Bunun yerine, ikinci satırı çalıştırdığımda bir seg hatası alıyorum. p, bir uint64_t * const
. Bir bayt elde etmek için çalışır, ancak aynı mantığı iki bayta uygularken doğru anlayamıyorum.
Lütfen eksiksiz bir kod verin (Dizi bildirimi, kullanılan değişkenlerin türleri ...). –
Daha yüksek bir uyarı Düzeyi ile derlemeniz ve Derleyici uyarılarını dinlemeniz gerekir. –
Kodunuzda 'dummyAddress' bir işaretçi değil –