您的位置:首页 > 编程语言 > C语言/C++

cpu进行操作的都是地址 *号在c语言中的作用

2016-11-28 22:25 211 查看
CPU 访问内存时需要的是地址,而不是变量名和函数名!变量名和函数名只是地址的一种助记符,当源文件被编译和链接成可执行程序后,它们都会被替换成地址。编译和链接过程的一项重要任务就是找到这些名称所对应的地址。

假设变量 a、b、c 在内存中的地址分别是 0X1000、0X2000、0X3000,那么加法运算c = a + b;将会被转换成类似下面的形式:

 0X3000 = (0X1000) + (0X2000);

( )表示取值操作,整个表达式的意思是,取出地址 0X1000 和 0X2000 上的值,将它们相加,把相加的结果赋值给地址为 0X3000 的内存

 在我们目前所学到的语法中,星号*主要有三种用途:

表示乘法,例如int a = 3, b = 5, c;  c = a * b;,这是最容易理解的。

表示定义一个指针变量,以和普通变量区分开,例如int a = 100;  int *p = &a;。

表示获取指针指向的数据,是一种间接操作,例如int a, b, *p = &a;  *p = 100;  b = *p;。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐