c语言中栈和数组buf的生长方向
对于c语言中,栈是向上还是向下生长,一般由操作系统决定。一般是栈是向下生长,因为一旦是向下生长,最高地址确定之后,就不会发生溢出。但是不管是栈是向下生长还是向上生长,buf的生长的方向都是向上的,buf是数组首元素的地址,其是一个常量,是不能改变的,即不能执行buf++,但是可以执行buf+i (前提是buf是一个数组)。具体示意图如下:
对于c语言中,栈是向上还是向下生长,一般由操作系统决定。一般是栈是向下生长,因为一旦是向下生长,最高地址确定之后,就不会发生溢出。但是不管是栈是向下生长还是向上生长,buf的生长的方向都是向上的,buf是数组首元素的地址,其是一个常量,是不能改变的,即不能执行buf++,但是可以执行buf+i (前提是buf是一个数组)。具体示意图如下: