kişi.'char (* p) [5];' ifadesinin anlamı nedir?
Ben bu üç bildirimleri arasındaki farkları kavramak çalışıyorum: okuma bildirimleri ve bunun gibi şeyler her rehber yardım etmedi, çünkü
char p[5];
char *p[5];
char (*p)[5];
bazı testler yaparak bu bulmaya çalışıyorum ben şimdiye kadar Bu küçük program yazdım ve o (Ben üçüncü beyanının kullanımının diğer tür denedim ve seçeneklerin bitti ettik) çalışmıyor:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void) {
char p1[5];
char *p2[5];
char (*p3)[5];
strcpy(p1, "dead");
p2[0] = (char *) malloc(5 * sizeof(char));
strcpy(p2[0], "beef");
p3[0] = (char *) malloc(5 * sizeof(char));
strcpy(p3[0], "char");
printf("p1 = %s\np2[0] = %s\np3[0] = %s\n", p1, p2[0], p3[0]);
return 0;
}
birinci ve ikinci eserleri tamam ve ben ettik yaptıkları şeyi anladılar. Üçüncü deklarasyonun anlamı nedir ve onu kullanmanın doğru yolu nedir?
Teşekkür ederiz! İkinci char bir dizi 5 işaretçiler ise
Kod çözme bildirimleri en az C ve C++ favori bölümümdür. –