版本2和3间的区别
于2007-07-19 07:37:42修订的的版本2
大小: 1929
编辑: czk
备注:
于2008-02-23 15:35:49修订的的版本3
大小: 1929
编辑: localhost
备注: converted to 1.6 markup
未发现区别!

A.7.7 Additive Operators

The additive operators + and - group left-to-right. If the operands have arithmetic type, the usual arithmetic conversions are performed. There are some additional type possibilities for each operator.

  • additive-expression:
    • multiplicative-expression additive-expression + multiplicative-expression additive-expression - multiplicative-expression

The result of the + operator is the sum of the operands. A pointer to an object in an array and a value of any integral type may be added. The latter is converted to an address offset by multiplying it by the size of the object to which the pointer points. The sum is a pointer of the same type as the original pointer, and points to another object in the same array, appropriately offset from the original object. Thus if P is a pointer to an object in an array, the expression P+1 is a pointer to the next object in the array. If the sum pointer points outside the bounds of the array, except at the first location beyond the high end, the result is undefined.

  • The provision for pointers just beyond the end of an array is new. It legitimizes a common idiom for looping over the elements of an array.

The result of the - operator is the difference of the operands. A value of any integral type may be subtracted from a pointer, and then the same conversions and conditions as for addition apply.

If two pointers to objects of the same type are subtracted, the result is a signed integral value representing the displacement between the pointed-to objects; pointers to successive objects differ by 1. The type of the result is defined as ptrdiff_t in the standard header <stddef.h>. The value is undefined unless the pointers point to objects within the same array; however, if P points to the last member of an array, then (P+1)-P has value 1.

TCPL/A.07.07_Additive_Operators (2008-02-23 15:35:49由localhost编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.