Δημοσιεύτηκε: 16 Ιαν 2010, 04:28
Δες αυτό το πρόγραμμα μια:
Βασικά στην C οι πίνακες είναι περίπου ίδιοι με τους δείκτες οπότε δεν χρειάζεται να επιστρέφεις πίνακα
από συνάρτηση γιατί ότι αλλαγές κάνεις στην συνάρτηση γίνονται πάνω στον αρχικό πίνακα!
- Κώδικας: Επιλογή όλων
#include <stdio.h>
/*
* rsize = row size
* csize = column size
*/
void square(int num[2][2], int rsize, int csize)
{
int i, j;
for(i=0; i<rsize; i++)
{
for(j=0; j<csize; j++)
{
num[i][j] *= num[i][j];
}
}
}
/*
* rsize = row size
* csize = column size
*/
void print(int ar[2][2], int rsize, int csize)
{
int i, j;
for(i=0; i<rsize; i++)
{
for(j=0; j<csize; j++)
{
printf("array[%d][%d] = %d\n", i, j, ar[i][j]);
}
}
puts("\n");
}
int main()
{
int array[2][2] = {{1, 2}, {3, 4}};
print(array, 2, 2);
square(array, 2, 2);
print(array, 2, 2);
return 0;
}
Βασικά στην C οι πίνακες είναι περίπου ίδιοι με τους δείκτες οπότε δεν χρειάζεται να επιστρέφεις πίνακα
από συνάρτηση γιατί ότι αλλαγές κάνεις στην συνάρτηση γίνονται πάνω στον αρχικό πίνακα!
Το μέγεθος του πίνακα δεν είναι υποχρεωτικό να περαστεί ως όρισμα στην συνάρτηση
αλλά καλό είναι να το βάζεις γιατί σε γλυτώνει από το να βγεις έξω από τα όρια του πίνακα!!! ![]()