Apologies or asking what is probably a very straightforward question, but I’m new to C-Syntax languages in general and have found something that confused me.
I’ve see a couple of example bits of code that create a CGFloat object and then seem to treat them as a implicit array of some kind, for example.
CGFloat newFloat[3] = {value1,value2,value};
Is this a generally valid concept in objective C to create arrays, or is it something built into CGFloat to hand 3D points in space?
Many thanks for any help.
This is called array initialisation and is a part of the language.
The
{value1,value2,value}part is called an initialiser and can be used on the right side of the assignment whenever defining an array. When the number of elements in the initialiser corresponds to the specified size of the array, you don’t actually need to explicitly specify the size:This makes the maintenance easier since adding a new element at the end doesn’t force you to update the size as well.
Such initialisers are supported for structs as well.