C Programmierung: Zweidimensionale Arrays und Pointer?

Guten Tag,

ich hätte ein paar Fragen zu Pointern im Bezug auf zweidimensionale Arrays und Pointer. Zuerst wollte ich fragen, ob mir jemand die Syntax hinter Pointern für mehrdimensionale Arrays in C erklären kann?

Wenn ich einen Array habe, wie bspw.:

int ary[2][3] = { {1, 2, 3}, {4, 5, 6} };

Nun möchte ich einen Pointer auf diesen Array:

int (*p1)[3] = ary; // Pointer auf int Array der Länge 3
int (*p2)[2][3] = &ary; // Pointer auf 2 dim Array der aus 2 int Arrays der Länge 3 besteht.

Warum werden hier die Indizes hinter dem Pointer geschrieben und nicht etwas wie:

int[2][3] *p2

Wäre das nicht intuitiver? Gibt es hinter der Schreibweise einen logischen Sinn?

Eine weitere Frage zur Syntax wäre, wie man das korrekt aufschreibt, wenn man einen return Value oder einen Funktionsprototypen aus einem Pointer zu einem zweidimensionalen Arrays (mit klar definierter Größe) haben möchte?

Dazu wollte ich noch sichergehen, dass meine Vermutung, warum ich für die Zuweisung bei p2 noch ein & davor hängen muss, die Richtige ist. ary und &ary sind exakt die selben Pointer. Ist es so, weil ary als Pointer auf einen int Array der Länge 3 hinterlegt ist und &ary sozusagen ein Pointer auf einen zweielementigen Array ist, der aus int Arrays der Länge 3 besteht?

Über eine Antwort würde ich mich sehr freuen!

Computer, Technik, programmieren, Informatik, C (Programmiersprache)
Neuer Monitor, Einstellungen geändert = Fortnite etc. Verpixelt + Unscharf?

Hi ich habe mir einen neuen Monitor zugelegt ( AOC c27g1) und habe im OSD in den Gamesettings Overdrive angemacht weil ich wusste das dadurch die Hz verbessert wird. Zuerst war alles Super bis ich in Fortnite meine Hz Anzahl von Mittel auf Stark gestellt habe.

( Also ab dem Zeitpunkt waren die Skins unscharf. Ich weiß aber nicht ob es daran liegt das ich Overdrive von Mittel auf Stark gestellt habe oder es mir einfach davor schon nicht aufgefallen ist, aber ich bin mir sicher erst ab diesem Zeitpunkt.

Für die dies wissen wollen: an diesem Tag hatte ich vor meinen Bildschirm weiter einzustellen den ich zuvor an Weihnachten bekommen habe. Als erstes habe ich in Windows die hz von 60 auf 120 gestellt weil ich gelesen habe das 140 Overshoots hinzufügt. als ich danach in den Nvidia Controllpanel gegangen bin um Gsync zu aktivieren (hatte nicht geklappt) habe ich eine Vermutung das ich da was vielleicht verstellt habe ohne es zu merken. Danach habe ich den neuen Treiber von Nvidia installiert und dann das mit dem Overdrive wo es verpixelt wurde. ( mein Bildschirm wurde kurz schwarz kann sein das ich aber auch vielleicht versehentlich aus gemacht habe weiß ich nicht mehr so genau.) An den Seiten erkennt man es am Skin besonders gut.

Zur Info: ich habe zwei Bildschirme und ich habe die Windows hz glaube ich erst versehentlich bei meinem zweiten gemacht und dann bemerkt und die anzeige auf meinem aoc gestellt. )

oder es ist was ganz anderes und jmd weiß es vielleicht. :)

Baldige Antwort wäre Super!

Bild zum Beitrag
PC, Computer, Technik, Bildschirm, IT, Einstellungen, Technologie, verpixelt, Fortnite, Spiele und Gaming

Meistgelesene Beiträge zum Thema Technik