ECE264: Structs(Sample Code):

  1. ifndef MAZE_H
    #define MAZE_H
    #include <stdio.h>

typedef struct
{
     int startRow,startCol;
     int exitRow, exitCol;
     int numRow,numCol;

     int** cells;
}Maze;

Maze Maze_construct(char* frame);
void Maze_traverse(Maze m);
void Maze_destruct(Maze m);

  1. endif
    /*main.c*/


/*maze.c*/
#include "maze.h"
#include <stdio.h>
Maze Maze_contruct(char* fname)
{
FIEL* fMaze;
fMaze = fopen(fname);
if(fMaze ==0)
{
       //error
}
     while(!feof(fMaze))
     {
         //stuff
     }
}


#include <stdio.h> main.c
#include "maze.h"
int main()
{
     Maze m;
     if(argc<2)
     {
          //error
     }
     m = Mazeconstruct(argv[1]);
     Maze_traverse(m)
     Maze_destruct(m)
     return 0;
}

gcc -c maze.c need malloc
gcc maze.o main.o -o
implicitly link c library

m.cells = malloc (sizeof(char*) * numRow);
for

typedef struct
{
     int x;
     int y;
     int z;
}Vector;

Vector Vector_construct(int a int b int c);
Vector Vector_add(vector v1 vector v2);

Vector Vector_construct(int a, int b, int c)
Pbecor v;

By defining a struct with 3 variables inside of it x,y, and z can not be named as antthing but they must be int values.


Needed to compile correctly with multiple files:

gcc -c main.c
gcc -c maze.c
gcc main.o maze.o -o ipa1
./ipa1 maze1 <--- ./ refers to current folder
current directory
make file for each directory
makeclean


Back to ECE264, Spring 2011, Prof. Lu

Alumni Liaison

Recent Math PhD now doing a post-doctorate at UC Riverside.

Kuei-Nuan Lin