Revision as of 22:41, 30 April 2011 by Cheng35 (Talk | contribs)

Lecture 1:

ECE264Lecture1-1.png

Yuanhua1-1.png

Lecture 2:

Yuanhua 2-1.png

Yuanhua 2-2.png

Lecture (1-21-2011):


Gcc –wall progl.c –o pl
Argument shell

>ls
>-l
>cd

int main(int argc, char* argv[])
}
int abc = 5;
int xyz = 10;
xyz = f1(abc);
if(abc==c)
{

}
Return 0;
}

int f1(int abc, char xyz, double stu)
{
int counter;
abc = 10;
f2(abc);
return -1;
}


void f2(int xyz)
{
int abc = -1;

}

Stack vs. Heap!
order of first in last out
counter /////
double 0.5
xyz char ‘a’
abc (main) 5
L1
xyz (int) 10
abc (from f1) 5


frame
abc -1
xyz 10
L2

Regarding maze traversal:
know your location
track your steps  go back to last intersection
map your file
priority list
detect exit (confirm there is one)
read maze

Height is unlimited
Max will not exceed 80 for width
(0,0) (0,1)
* * * *  *
*         *
*        E
*    *    *
*    *    *
* * * *  *

It can start at a intersection

(3,1) (2,3) ASCII
(2,1) (3,3) American
standard
code
for info interchange?

FILE * find = fopen(argv[1], “r”);
if(fhd == 0);
{
/*error*/
}

while(!feof(fhd))
{
int ch = fgetc(fhol);
ch is ‘*’;
‘\n’
}
fclose(fhd)


Lecture (1-26-2011):

  1. include <stdio.h>

File *fhd;
int numRow=0;
int numCol=0;
int col = 0;
int ch;


if (arg<2)
{
     /*error*/
}

fhd = fopen(argv[1]."r");
if(fhd==0)
{
    /*error*/
}
   while(!feof(fhd))
   {
       ch = fgetc(fhd);
       if(ch=='\n')
       {
          numRow++;
        }
        if(num Col<col)
        {
           numCol = col;
            col = 0;
         }
          col++;
      }
printf("width=%d,height=%d\n",numCol,numRow);

gcc prog.c -o prog

We need to know the enviornment and the direction we are going to take:
Need to have a way to remember where we are located:

Pointers:
int x;
x=5

Value ---> 800
address 650y

int *y;
/* y is a pointer to integer*/
y = 'x'; <-- warning message
take x's addr

  • y = LHS left hand side take y's value as an adr, modify the value at that addr.

= *y Right hand side (RHS) ---> Means assign
Take y's value as an addr, read from that addr.

  • y = 50;
    y = &z;
    *y = 35; ---> z = 35

Goo mainstreet ---> address
family Johnson ----> value

int a[10];
^-- 3
if(ch=='A')
^-- 65 ascII

memory
one - dimension array
int *a;
a = malloc(numElem *sizeof(int));
^---a's value is the start addr of a piece of memory
a[0] = ____
x = a [0];
.
.
.
free(a); <--- lose 50 points RELEASE THE MEMORY (Memory Leak if not there)

Stack Heap
a 1000

C does not specify sizeof(int)
Portable: Run on different machine

malloc(#elem*sizeof(one elem));
^--- modify the value at that addr

if(a==0)
{
/* malloc fails */
//if malloc fails a is 0
}

you already know the size of the maze.

int array[numRow]; The program does not know when you compile the program!

Alumni Liaison

Correspondence Chess Grandmaster and Purdue Alumni

Prof. Dan Fleetwood