Difference between revisions of "Week 5"

From CDOT Wiki
Jump to: navigation, search
(Created page with 'Creating pointers to functions type foo(type 1, type2, type3, etc); type (*P)(type1, type2, type3, etc); P is a pointer variable to a function foo. Assigning a function to a …')
 
 
Line 16: Line 16:
  
 
In C, everything upcasts. (so if you have an expression, it will upcast all the variables to the largest type).
 
In C, everything upcasts. (so if you have an expression, it will upcast all the variables to the largest type).
 +
 +
'''<u>New Concepts</u>'''
 +
 +
Page 36 - review it carefully.
 +
 +
difference between a structure and a class in C++ structure is public by default, classes are private by default.
 +
 +
in c - instantiate a structure: struct student s;
 +
c++ - student s;
 +
 +
union - places all the variables in the same place in memory.
 +
enum weekdays(sun, mon, tue, wed, thu, fri, sat) - will create 7 constant ints starting from 0
 +
 +
typedef int age - adds the name "age" as an integer to the C library.  so now u can say "age a = 34;" - same as saying int a = 34
 +
 +
c = 20 || 50
 +
 +
c  = true because both 20 and 50 are not 0 which is false.
 +
 +
in the ? : operator both values must be same data type.
 +
ignore page 37
 +
 +
bitwise operators??
 +
AC 1010 1100 = A
 +
4E 0100 1110 = B
 +
 +
A && B = 0000 0001
 +
A & B = 0000 1100
 +
A | B = 1110 1110
 +
! A = 0000 0000
 +
~A = 0101 0011
 +
A^B = 1110 0010
 +
 +
A << 1 = 0101 1000 // left shift
 +
B << 2 = 0011 1000
 +
 +
right shift - signed && left bit 1 if both these conditions are true, then fill the left with 1's otherwise 0's
 +
 +
B >> 3 = 0000 1001
 +
A >> 2 = 1110 1011

Latest revision as of 15:14, 10 June 2010

Creating pointers to functions

type foo(type 1, type2, type3, etc);

type (*P)(type1, type2, type3, etc);

P is a pointer variable to a function foo.

Assigning a function to a pointer variable:

P = foo;

In C (or C++), x = (*P)(type1, type2, type3);

In C++, x = P(y, z, x);

In C, everything upcasts. (so if you have an expression, it will upcast all the variables to the largest type).

New Concepts

Page 36 - review it carefully.

difference between a structure and a class in C++ structure is public by default, classes are private by default.

in c - instantiate a structure: struct student s; c++ - student s;

union - places all the variables in the same place in memory. enum weekdays(sun, mon, tue, wed, thu, fri, sat) - will create 7 constant ints starting from 0

typedef int age - adds the name "age" as an integer to the C library. so now u can say "age a = 34;" - same as saying int a = 34

c = 20 || 50

c = true because both 20 and 50 are not 0 which is false.

in the ? : operator both values must be same data type. ignore page 37

bitwise operators?? AC 1010 1100 = A 4E 0100 1110 = B

A && B = 0000 0001 A & B = 0000 1100 A | B = 1110 1110 ! A = 0000 0000 ~A = 0101 0011 A^B = 1110 0010

A << 1 = 0101 1000 // left shift B << 2 = 0011 1000

right shift - signed && left bit 1 if both these conditions are true, then fill the left with 1's otherwise 0's

B >> 3 = 0000 1001 A >> 2 = 1110 1011