2

I learned that * is the value-at operator and & the address-of operator. Formally known as dereferencing and referencing. Whenever I talk to someone I trip over the word dereferencing, because it reminds me of the word referencing and then I get confused. I know from how I learn that if I know what the de- prefix of dereference means I won't have this problem anymore.

In the same manner I learned what ante means in poker or what an antagonist and agonist is in neuroscience (and theater w.r.t. antagonist).

Another reason I trip up is because from my (limited) understanding the de- prefix in dereference seems to imply a deletion of a reference, which is not the case.

So what does de- mean? Is there a linguistic explanation or is it an ad-hoc prefix with no meaning other than differentiating from reference?

Possible duplicates: this question and this one but I'm not asking for the definition of dereferencing. I'm asking what the prefix means in the context of the word (edit: and also in the technical context, I'm not interested in dereferencing a real book, whatever that means).

Community
  • 1
  • 1
Melvin Roest
  • 1,392
  • 1
  • 15
  • 31
  • 2
    de is latin for un. de is to dereference as un is to undo. similar to a fx/dx(f'(x)) – Fallenreaper Feb 12 '16 at 21:54
  • 2
    Maybe you should ask on 'EL&U' ([English Language & Usage](https://english.stackexchange.com/))? – Jonathan Leffler Feb 12 '16 at 21:55
  • 1
    There was this chap from Normandy that invaded. We had a bit of a tiff in Hastings. He got involved in British politics and he spoke French. Sort of introduced French into English (beef, pork, mutton etc). "De" being a bit of this. It means of. – Ed Heal Feb 12 '16 at 21:58
  • @JonathanLeffler: in all seriousness, I can't ask it on English language forms, because they don't know the subtle differences between dereferencing a pointer and dereferencing something else. Perhaps I didn't put it clearly enough in the description but I was asking it in the context of the word but also in the context of dereferencing a pointer. Hence an English speaking programmer would give a more precise answer than someone who doesn't program but speaks English. – Melvin Roest Feb 12 '16 at 22:01

1 Answers1

3

Not a linguist but here goes. First, from google:

de- a prefix occurring in loanwords from Latin ( decide); also used to indicate privation, removal, and separation ( dehumidify), negation ( demerit; derange), descent ( degrade; deduce), reversal ( detract), intensity ( decompound).

The de- prefix here means to negate what follows. Similar to an un- prefix (do / undo). So when we use the & operator, we take a reference. When we use the * operator, we de-reference. We undo the reference operator to get the variable again.

*(&foo) == foo: de(reference(foo))

CollinD
  • 7,304
  • 2
  • 22
  • 45