I am little confused finding C style syntax in an Objective-C project (for example below syntax is not how method are defined in Objective-C, by the book). I am clear that this works since the code I have compiles without errors - but I am not sure how and why, this code is regular Objective-C *.h,*.m files. Can someone explain how this fits in? 

```
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
//use of round brackets 

void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor, 
CGColorRef  endColor);
// C style syntax for passing params

```

Also this is very specific around the Core Graphics code that I have seen so far, is it allowed to write regular Objective-C methods like this also or only files with CG code...?