标签:常量 指针 不同的 调用函数 决定 编译 函数调用 提前 分配
指针也是一种数据类型,占用内存空间,内存中存储的只能是变量的地址。
*p是操作内存的意思,在声明成为指针变量的时候使用*,在使用指针的时候,*表示操作内存。
*p放在等号的左边,相当于是从内存中取值,*p放在内存的右边,相当于是想内存中写值
*就像一把钥匙,通过一个地址,找到一块内存空间,来间接的修改内存中的值。
指针变量和它指向的内存变量是不同的概念。
不断的给指针赋值,相当于不停的改变指针的指向。
修改指针所指向的内存空间的数据,要保证这个内存空间是可以被修改的。举个例子就是修改常量区的内存
指针也是一种数据类型,指针的数据类型指的是它指向内存空间的数据类型。
指针的数据类型决定了指针的步长。
在执行程序的时候,C编译器会提前将所有的变量都分配出来,然后在执行相应的函数调用。
两个指针共享一个内存块,是语言的精华。
C语言中字面常量,也即是0,没有放在堆区中或者是栈中,也就是所谓的宏定义。字面常量是不能取地址的。
间接赋值是指针存在的最大意义,这样就允许了被调用函数操作主调函数中的内存,或者是主调函数可以接受被调用函数分配的内存地址。
标签:常量 指针 不同的 调用函数 决定 编译 函数调用 提前 分配
原文地址:http://www.cnblogs.com/andyniu/p/7633043.html