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;
}
posted @   夜月明  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示