Brian Walden's discussion of sh #, etc, is right on. However, his etymology for unary * in C can be pushed back at least to 1959. * was used for indirect addressing in SAP, the assembler for the IBM 7090.