马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
【内存基址】中括号表示,[把里面的运算结果]当作地址,取地址的值。
.
[] 不就是汇编.取地址值的符号吗,
和c语言,指针变量 前面带* 效果类似。
不加中括号的话,其实就是立即数了.
=======================================================
C语言中,* 有什么用途
C语言中星号(*)在不同使用环境下有不同的含义,现总结星号的含义有如下几种
*代表乘法
作为算术运算符,*代表乘法,进行相乘运算
#include<stdio.h>
int main(void){
int a = 10;
int b = 20;
printf("%d",a*b); //200.
return 0;
}
此例中*作为乘法使用。
在变量定义行,用 * 定义某种类型的指针变量。
int * p,定义了一个变量 p,p是int类型的指针变量,只能存放int类型变量_的地址。
#include<stdio.h>
int main(void){
int a = 100;
int * p;
p = &a; //&是取址符.
//变量前带&,为变量取址.
printf("%p",p);
return 0;
}
此例中,定义了指针变量p,将变量a的地址存储在指针变量p中。
指针变量 前面带*,为地址取值。
假设p是int类型的指针变量,专业储存int类型变量的地址。*p则表示,地址取值。
#include<stdio.h>
int main(void){
int a = 100;
int * p;
p = &a; //&, 变量取址.
printf("%p\n",&a);
printf("%p\n",p);
printf("%d\n",*p); //地址前带*,为地址取值.
return 0;
}
此例中定义了指针变量int * p,打印时&a与p结果均为变量a的地址,
*p为以指针变量p内容为地址的变量,即为变量a的值。
//为了让更多人看到,关键代码回复可见。
|