变数的内容储存於记忆体中,记忆体就像是有很多格子的柜子,每格都会有一个编号,这个编号通常用16进位表示
每格只能储存一个位元,所以一个变数会占用很多格,而且会在连续的位置上;以一个 char
变数来说,它占用8个位元,所以记忆中会有一个连续8格的区域属於这个变数,如果第一个位元从位置0开始,记忆体中位置0~7属於这个变数
因为每个型别需要的位元数量是固定的,所以只要有某变数第一个位元的位置,就可以控制整个变数
变数在记忆体中的 地址 ,也就是变数第一个位元在记忆体中的位置
取址运算子是 &
,可以取得某变数的指标,因为指标本身也是数字,所以可以用 printf()
显示出来,预留位置 %p
用於显示指标
#include <stdio.h>
#include <stdlib.h>
int main(){
int x = 10;
printf("%p\n", &x);
return 0;
}
因为指标也是数值,所以可以用变数储存
宣告指标变数,要在变数名称之前加上 *
#include <stdio.h>
#include <stdlib.h>
int main(){
int x=10;
int *p=&x;
printf("%p\n", &x);
printf("%p\n", p);
return 0;
}
因为 p
储存 x
的指标,所以 p
指向 x
取值运算子 *
可以取得某个指标变数指向的值
#include <stdio.h>
#include <stdlib.h>
int main(){
int x=10;
int *p=&x;
printf("%d\n", *p);
return 0;
}
因为 p
指向 x
,所以对 p
取值会得到 x
的变数值
在这个例子中,*p
等同 x
>>: Day_30:让 Vite 来开启你的Vue之 内牛满面 的 完赛感言
tags: OC 30 day 先说说看Socket是什麽? 两个电脑通讯的过程,就像两个人打电话一...
本篇重点 在SQLite的Table中,新增栏位 透过pandas.DataFrame.rollin...
说了好几天的概念,再不动手真的会睡着。让我们先来本机炸一炸,加深我们的学习动机。 安装前,先注意两大...
我今天要来记录探索Dev C++的过程 还有C++的基本架构 我所使用的开发环境是Dev C++ 上...
while 回圈 Kotlin 的 while 回圈跟 Java 一样,每一次的循环之前会检查条件式...