Sponsored Content
Top Forums Programming Calling an array of arrays in C. Post 303022860 by Azrael on Saturday 8th of September 2018 04:38:00 PM
Old 09-08-2018
Calling an array of arrays in C.

Corona688 was great in helping me learn how to create arrays that hold other two dimensional array here. Unfortunately I didn't think ask about how to implement or call them. Basically, I'm trying to call an array of two-dimensional arrays like this:

declaration:
Code:
int (*side_one[MATRIX][MATRIX])[MATRIX] = { { white_l1, white_l2, white_l3 }, { white_m1, white_m2, white_m3 }, { white_r1, white_r2, white_r3 } };


call:
Code:
fillit((*side_one[MATRIX][MATRIX])[MATRIX]);


gcc warnings:
Code:
gcc -O4 test.c -o test -s
test.c: In function ‘fillit':
test.c:63:16: warning: assignment to ‘int *' from ‘int' makes pointer from integer without a cast [-Wint-conversion]
    *side[s][t] = randval;
                ^
test.c: In function ‘main':
test.c:457:40: warning: passing argument 1 of ‘fillit' makes pointer from integer without a cast [-Wint-conversion]
      fillit((*side_one[MATRIX][MATRIX])[MATRIX]);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
test.c:53:19: note: expected ‘int * (*)[1000][1000]' but argument is of type ‘int'
 void fillit(int *(side[MATRIX][MATRIX])[MATRIX]){
             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I've tried changing the argument in this function, how I call the function, and a lot of things, but no luck. Here is the function the function call goes to:

Code:
void fillit(int *(side[MATRIX][MATRIX])[MATRIX]){
  int r, s, t, randval;

  for (r = 0; side[r] != 0; r++){     
     for (s = 0; s < MATRIX; s++){
    FILE *f;
    for (t = 0; t < MATRIX; t++) {
        f = fopen("/dev/urandom", "r");
        fread(&side, sizeof(randval), 1, f);
        if (side[s][t] != NULL){
            *side[s][t] = randval;
        }
        fclose(f);
    }
     }
   }
}


I'm sure the loops in the function are wrong. Sure it can probably be done in less than 3 loops. I won't be mad to get suggestions on those, but right now I'm just trying to pass the argument correctly.


Any advice much appreciated.

Last edited by Don Cragun; 09-09-2018 at 03:42 AM.. Reason: Fix CODE tags.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl array of arrays

Hi, I am trying to assign an array as a value to one of the array element, I mean I have an array @KS and array @kr. I want array @KS to hold @kr as an element. So I am doin this $KS=@kr; But the value stored is number of elements in the @kr array. Can... (2 Replies)
Discussion started by: eamani_sun
2 Replies

2. Shell Programming and Scripting

Searching array of arrays in perl

Suppose there are two arrays of arrays: @A = ( , , , ); @B = ( , , , , ); For each of $A, $A, $A..., I want to find the corresponding one in @B (match the letter, like $A eq $B), and print out both the second item, for example, $A and $B. How can I do this in perl? grep + map? Hope I... (1 Reply)
Discussion started by: zx1106
1 Replies

3. Shell Programming and Scripting

PHP arrays as array elements

PHP question...I posted this on the Web Development forum, but maybe this is a better place! I have an SQL query that's pulled back user IDs as a set of columns. Rather than IDs, I want to use their names. So I have an array of columns $col with values 1,7,3,12 etc and I've got an array $person... (3 Replies)
Discussion started by: JerryHone
3 Replies

4. Programming

Perl arrays and loop through array

Hi All I need to get <STDIN> from a user. the <STDIN> is a range of number delimited by "," (comma) and can be with range delimited by "-". Example: 1,2,3,4-9,12,15,34-36,70 Now I need to get this from the user and go on each number and "Do something"... but when trying to do this as above... (2 Replies)
Discussion started by: RedGrinGo
2 Replies

5. Shell Programming and Scripting

perl - need help with 2 arrays to hash or 2d array?

I have 2 arrays: @array1 outputs the following: 1 1 1 2 @array2 outputs the following A B C D (2 Replies)
Discussion started by: streetfighter2
2 Replies

6. Shell Programming and Scripting

using arrays and also help with array.contains functionality

here is what i have... i=1 while read line do if grep -i-q "create procedure"<<<$line then startline="$line" endline="blahblah" Get procedure name into a variable named procName procName="procedure name is stored" do some... (2 Replies)
Discussion started by: vivek d r
2 Replies

7. Shell Programming and Scripting

Bash arrays: rebin/interpolate smaller array to large array

hello, i need a bit of help on how to do this effectively in bash without a lot of extra looping or massive switch/case i have a long array of M elements and a short array of N elements, so M > N always. M is not a multiple of N. for case 1, I want to stretch N to fit M arrayHuge H = (... (2 Replies)
Discussion started by: f77hack
2 Replies

8. Programming

Making an array of 2D arrays in C

I hate I'm asking for help again. Unfortunately it seems there just aren't any links I can find on making an array that holds a bunch of two dimensional arrays. Maybe my google-fu is lacking. Basically I have a header file like this: #define MATRIX 10 int white_l1; int white_l2; int... (2 Replies)
Discussion started by: Azrael
2 Replies

9. Programming

Looping an array of 2d arrays in C

Le sigh... Hopefully this will be the last time I have to ask for help on this topic. For a while now I've been working with a 1d array that holds 2d arrays. For reference you can view here. Now I'm just trying to loop through the elements with the following: #include <stdio.h> void... (3 Replies)
Discussion started by: Azrael
3 Replies

10. UNIX for Beginners Questions & Answers

Multiply elements of 2 arrays together into another array

So I need to Write an array processing program using a Linux shell programming language to perform the following. Load array X of 20 numbers from an input file X. Load array Y of 20 numbers from an input file Y. Compute array Z by multiply Xi * Yi then compute the square-root of this... (2 Replies)
Discussion started by: sarapham409
2 Replies
All times are GMT -4. The time now is 12:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy