Using and Porting GNU CC - Subscripting

Node: Subscripting Next: Pointer Arith Prev: Macro Varargs Up: C Extensions

Non-Lvalue Arrays May Have Subscripts

Subscripting is allowed on arrays that are not lvalues, even though the unary `&' operator is not. For example, this is valid in GNU C though not valid in other C dialects:

	struct foo {int a[4];};
	
	struct foo f();
	
	bar (int index)
	{
	  return f().a[index];
	}


Next: Pointer Arith Up: C Extensions