Προς το περιεχόμενο

Πίνακες και C


HaPagan

Προτεινόμενες αναρτήσεις

Δημοσ.

Χαίρετε ! Χρειάζομαι σε ένα πρόγραμμα σε C το μήκος ενός πίνακα να είναι μεταβλητό . Έτσι , φαντάζομαι ότι απαιτείται η χρήση δεικτών . Αλλά το θέμα είναι ότι ποτέ δεν τα πήγαινα καλά με τους δείκτες και θα ήθελα την βοήθειά σας .

 

Δηλαδή θα ήθελα να κάνω κάτι τέτοιο :

 

>
.......
int n;
int MyArray[n];

scanf("%d",&n);
.......

 

Δηλαδή να εισάγει ο χρήστης το μήκος του πίνακα . Πως μπορώ να το κάνω αυτό ;

 

Ευχαριστώ εκ των προτέρων . :)

Δημοσ.

Ευχαριστώ!

Αλλά μου βγάζει λάθος . Άσε που μετά σε ένα if , συγκρίνω κάποια τιμή του πίνακα με έναν ακέραιο και μου λέει ότι απαγορεύεται η σύγκριση δείκτη με ακέραιο .

 

Κάποια λύση ;

Δημοσ.

Τι λάθος βγάζει. Τι προσπαθέις να κάνεις και βγάζει λάθος? Γράψε το τμήμα κώδικα

 

Να ένα παράδειγμα :

>#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

int main(int argc, char* argv[])
{
 int n;
 int * a;
 int i;

 printf("Dwse pli8os 8esewn : ");
 scanf("%d", &n);
 a=malloc(n*sizeof(int));
 for(i=0; i<n; i++)
   a[i]=i*i;
 for(i=0; i<n; i++)
   if ((a[i]==4) || (a[i]==16))
     printf("\na[%d] = %d", i, a[i]);
 printf("\na[%d] = %d", i-1, a[i-1]);
 getch();
 free(a);
 return 0;
}

Δημοσ.

h malloc einai arketa epikindynh synarthsh gia na thn xrhsimopoieis thelei prosoxh. des mia kai thn calloc

 

void *calloc(size_t nobj, size_t size)

 

h calloc epistrefei ena deikth se ena xoro ths mnhmhs gia enan pinaka nobj antikeimenon, megethoys size to kathena h NULL an den mporei na ikanopoihthei h aithsh. ta byte toy xoroy mnhmhs pairnoyn arxikh timh mhden

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...