assignment of function

If you mean function pointer / variables, then you can do code like this:

//typedef = type definition
//void = return value, void = none
//FunctionTypeName = the name of the type
//int = arguments
typedef void (*FunctionTypeName)(int);

void aFunction(int value)
{
  //value is 123;
}

void CallFunction(FunctionTypeName theFunction)
{
  theFunction(123);
}

CallFunction(aFunction);

If you mean assign a return value you can do this:

int getTheValue()
{
  return 123; //Return a value
}

int theValue = getTheValue();
//theValue is now 123