A variable P is called a pointer if it contains the address of an element in DATA. Option A correctly states this fundamental definition - pointers store memory addresses, not the data itself. Option B is incorrect because pointers can point to any element, not just the first. Option C is too restrictive. Option D is wrong because pointers store addresses, not both data and addresses.