04动态内存分配和释放
动态内存分配和释放
# include<stdio.h>
int main(void)
{
double *p;
double x = 66.6;
p = &x;//x占8个字节 1个字节是8位,1个字节为一个地址
//p里面只存放一个地址,这里为8个地址的首地址
double arr[3] = {1.1, 2.2, 3.3};
double *q;
q = &arr[0];
printf("%p\n", q);//%p实际就是以十六进制输出
q = &arr[1];
printf("%p\n", q);
return 0;
}
# include<stdio.h>
//void f(int * p);
int main(void)
{
int i = 10;
f(&i);
printf("i = %d\n", i);
return 0;
}
void f(int * p)
{
*p = 99;
}
# include <stdio.h>
int main(void)
{
int i = 9;
int * p = &i;//int *p; p = &i;
printf("%p", p);
f(&p);//重点:无论为什么变量要改写值只要放变量地址就可以,这里P为int *类型变量
printf("%p\n", p);
return 0;
}
void f(int ** q)//指针变量类型:int *,指针变量地址类型再加*:int **
{
*q = (int *)oxFFFFFFFF;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人