» Ausgabe Array Länge

Definierte Anzahl an Leerzeichen ausgebenNeuen Thread eröffnenNeue Antwort erstellenMultiplizieren von Matrizen
AutorNachricht
Beobachter 
Anmeldedatum: 18.04.2020
Beiträge: 3
18.04.2020, 11:21
zitieren

Hallo zusammen,

ich bin gerade am verzweifeln.
Ich versuche ein "Int"-Array auszugeben.
Dies mache ich über sizeof(array)/sizeof(int). Hierbei werden aber nicht die richtigen Werte ausgeben.
Setze ich die Werte manuell passt es.
Wo liegt den mein Fehler?


#include <stdio.h>
#include <math.h>

typedef int qmat[101];

void el_setzen(qmat,int,int);
int el_holen(qmat,int,int);
void qm_init(qmat,int,int);
void qm_aus(qmat);

int main(){
    qmat a = {0};
    int n = 5, w = 5;
    qm_init(a,n,w);
    qm_aus(a);
   
}

void qm_init(qmat a, int n, int w){
    printf("qm_init: %d\n\n",n);
    for(int i = 0; i< n*n; i++)
    {
        a[i] = w;
    }
}

void qm_aus(qmat a){
    printf("qm_aus\n");
    long elemente = sizeof(a)/sizeof(int);
    printf("Elemente %ld\t %ld\n",elemente,sizeof(int));
   
   
    for(int i = 0; i< sizeof(a)/sizeof(a[0]); i++)
    {
        printf("%d  ",a[i]);
    }
    printf("\n");
}

void el_setzen(qmat a,int z,int s)
{
   
}

Gruß freakontour


pn
Junior 
Name: Voller Name als Anagramm: Fitje Weshoms
Geschlecht:
Fahrzeug: Yamaha YZF R6 Thundercat
Anmeldedatum: 15.07.2012
Beiträge: 92
Wohnort: Amberg, Oberpfalz
19.04.2020, 10:05
zitieren

Hallo freakontour

Das Bestimmen der Größe eines Arrays innerhalb einer Funktion klappt leider nicht,
wenn das über einen Pionter geschieht. Da musst du schon in den sauren Apfel beißen
und n als Parameter extra setzen, oder als globale Variable:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
/*
void printSizeOf(int intArray[]);
void printLength(int intArray[]);

int main(int argc, char* argv[])
{
    int array[] = { 0, 1, 2, 3, 4, 5, 6 };

    printf("Groesse des arrays: %d\n", (int) sizeof(array));
    printSizeOf(array);

    printf("Laenge des arrays: %d\n", (int)( sizeof(array) / sizeof(array[0]) ));
    printLength(array);
}

void printSizeOf(int intArray[])
{
    printf("sizeof of parameter: %d\n", (int) sizeof(intArray));
}

void printLength(int intArray[])
{
    printf("Length of parameter: %d\n", (int)( sizeof(intArray) / sizeof(intArray[0]) ));
}
*/
typedef int qmat[101];

void el_setzen(qmat,int n,int w);
int el_holen(qmat,int,int);
void qm_init(qmat,int,int);
void qm_aus(qmat, int n);

int main(int argc, char **argv)
{
    qmat a = {0};
    int n = 5, w = 5;

printf("Laenge des Datentyps int.....: %d\n", (int) sizeof(int));
printf("Groesse des arrays in byte...: %d\n", (int) sizeof(a));
printf("Anzahl der Elemente im arrays: %d\n",  (int)( sizeof(a) / sizeof(a[0]) ));
printf("Anzahl der Elemente der Probe: %d\n",  n);

    qm_init(a,n,w);
    qm_aus(a, n);
   
  return 0;
}

void qm_init(qmat a, int n, int w)
{
    printf("sizeof of parameter_1 %d bit\n", (int) sizeof(a)*8);
printf("Length of parameter_1 %d bit\n", (int)( sizeof(a) / sizeof(a[0]) )*8);

    for(int i = 0; i< n*n; i++)
    {
        a[i] = w;
    }
}

void qm_aus(qmat a, int n){
    printf("\n\nqm_aus show values of elements:\n");
    printf("elements %ld\t.... %ld\n\n", n, sizeof(int));
   
   
    for(int i = 0; i< n; i++)
    {
     printf("Element Mr:%d= %d\n", i, a[i]);
    }
    printf("\n");
}

void el_setzen(qmat a,int z,int s)
{
   
}
Siehe bei stackoverflow:
https://stackoverflow.com/questions/37538/how-do-i-determine-the-size-of-my-array-in-c



pn
Beobachter 
Anmeldedatum: 18.04.2020
Beiträge: 3
19.04.2020, 20:29
zitieren

Vielen Dank. Hat mir geholfen.

pn
Gast 
19.04.2020, 20:29
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Ausgabe Array Länge" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Struct Array char array eingeben
Guten Tag, bin neu hier :) wollte mir ein bisschen Hilfe suchen für mein kleines Programm. Hab mir ein Struct erstellt mit einer Funktionsvariable (array) mit 3 Komponenten. Die Größe des Array sollte sich auf 20 Felder begrenzen welche ich nochmals...
[C]von Noob
2
279
01.06.2020, 20:20
Noob
array in funktion
Hallo , ich möchte 4 zahlen nach der Größe sortieren, das ist für mich Jetzt kein Problem, allerdings möchte ich die Sortierung in einer Funktion machen. Aber die zahlen sollen trotzdem in der main ausgegeben werden also call by reference, kann mir...
[C++]von arti1012
1
387
28.06.2015, 13:33
arti1012
Array befüllen
Hallo liebe Gemeinde, ich bin gerade am Java erlernen und habe folgendes Problem: In einem Array sollen per Eingabe Breite/Länge/Höhe an einem Index im Array übergeben werden. Ich schaffe es nicht, diese drei Werte ins Array zu schreiben. Das ist mein...
[Java]von Columbus
0
405
26.05.2021, 15:10
Columbus
Array Ausgeben
Hi Leute, habe gerade folgenden Code verfasst... public class Array { public static void changeArray(int[] array) { for(int i= 0; i < array.length; i++) { if(array[i] % 2==0) { array[i]= array[i]*-1; } else { array[i]=array[i]*10; } } } public static...
[Java]von DeppJonez
1
389
01.02.2017, 19:42
angemon
Benchmark: Prepared Statements in Array
Hi, hier die Resultate: /* // version 1 // 1. run 0.14501937151 // 2. run 0.145541801453 // 3. run 0.141622686386 // fastest run 0.0934751033783 while ($field = $meta->fetch_field()) { $row[] =...
[PHP]von mgutt
0
527
09.10.2009, 18:39
mgutt
Hilfe bei C-Programm / Zahlen aus einer Datei in ein Array einlesen.
Hallo, ich bräuchte mal eure Hilfe für ein kleines C-Programm: - in einer TXT-Datei befinden sich als Beispiel 3 Zahlenreihen mit jeweil 6 Zahlen in 1 Reihe: BSP: Test.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Die Zahlen sind durch ein...
[C]von Vision73
0
198
15.05.2023, 16:28
Vision73
Mein Programm soll einen zu langen string in ein array einlesen, überschreiben und ausgeben
Hallo, Kann mir jemand sagen, warum es hier nicht wie gewünscht z.B. die ausgabe "hellooo" gibt sondern stack smashing? Woher kommt die leerzeile bei meiner Terminal ausgabe: helloooo &#x2A;&#x2A;&#x2A; stack smashing detected...
[C]von john_38
2
82
10.01.2024, 07:09
john_38
Rohstoff Report Ausgabe 19
RohstoffReport 5. Jahrgang | Ausgabe 19 | 16.09.2008 Ein Service der BörseGo AG RohstoffReport 5. Jahrgang | Ausgabe 19 | 16.09.2008 Ein Service der BörseGo AG Leitthema Rohstoffhausse: Aufgeschoben ist nicht aufgehoben Seite 02 Strukturelle...
von infoman
0
467
31.12.2008, 16:36
infoman
Rohstoff Report Ausgabe 18
RohstoffReport 5. Jahrgang | Ausgabe 18 | 03.09.2008 Ein Service der BörseGo AG RohstoffReport 5. Jahrgang | Ausgabe 18 | 03.09.2008 Ein Service der BörseGo AG Leitthema Auch Russland hat seinen Peak überschritten Seite 02 Wie stark geht die...
von infoman
0
715
31.12.2008, 16:37
infoman
Fn1 auspuff (2023 Ausgabe - TÜV/ABE)
Hallo! Ich bin auf der Suche nach einer gut klingenden Abgasanlage für meinen 2007 FN1 1.8 VTEC. Ich benötige Ratschläge/Empfehlungen zwischen diesen TÜV/ABE-Optionen: 1....
von caspertl
11
563
15.08.2023, 10:18
Chris_1984
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |