`

C语言复习 指针和动态分配内存

 
阅读更多
#include <stdio.h>    
#include <stdlib.h>
 main() 
{  
        int i =3;
        double d = 3.141692;
        float f = 3.1423;
        char c ='B';
        
        int*  ip = &i;
        double* dp = &d;
        float* fp = &f;
        char* cp = &c;
         
        
        printf("int 类型指针变量的长度为 %d\n",sizeof(ip)); 
         printf("int 类型指针变量的长度为 %#X\n",ip); 
        printf("double 类型指针变量的长度为 %d\n",sizeof(dp)); 
        printf("float 类型指针变量的长度为 %d\n",sizeof(fp));        
        printf("char 类型指针变量的长度为 %d\n",sizeof(cp));        
        
        
        
        // 在32位的操作系统上 因为程序 最大能使用的内存空间的地址 就是2的32次方
        // 指针只需要4个字节 就可以表示出来所有的(4*8=32)内存空间 
        
        // 64 并且编译支持64位 8个字节*8位 = 64位 的所有内存空间
        
         system("pause");    // 调用windows下系统的命令 让程序暂停执行  方便观察程序的执行结果  
    
}



#include <stdio.h>    
#include <stdlib.h>
#include <malloc.h> 
// malloc memory allocate 内存申请 
 main() 
{  
   // 接受一个参数 申请多大(byte)的内存空间  
  int* p = (int*)malloc(sizeof(int)); // 在堆内存里面申请一块可以存放一个int类型数据的内存空间  返回的是一个地址 
    
  *p = 4;  // 就是往 p 里面存放的地址 表示的那块内存空间里面存放一个int类型的数据 4 
  
  
  
  printf("*p=%d\n",*p);  
        
        
system("pause");    // 调用windows下系统的命令 让程序暂停执行  方便观察程序的执行结果  
    
}


分享到:
评论

相关推荐

    C语言函数指针复习小结

    指针可以用于动态内存分配,数据结构的表示,以及实现函数间的双向通信。 2. **指针类型**: - 指针可以指向基本数据类型(如`int`),也可以指向数组、结构体,甚至函数。 - `int *p;`声明了一个指向整型变量的...

    c语言复习资料及习题和答案

    这份"c语言复习资料及习题和答案"旨在帮助学习者巩固C语言的基础知识,提升编程技能。 一、C语言基础知识 C语言的基础包括变量、数据类型、运算符、流程控制语句等。变量是存储数据的容器,数据类型如整型(int)、...

    专升本C语言复习资料和练习题

    10. **预处理器和内存管理**:预处理器处理宏定义和包含文件,内存管理涉及动态内存分配和释放。 练习题集通常会包含各种类型的题目,如选择题测试你的知识理解,填空题考察细节,编程题则要求你实际编写代码解决...

    C语言复习题

    9. **内存管理**: C语言提供了动态内存分配的函数`malloc`、`calloc`、`realloc`和`free`。理解它们的作用和使用,避免内存泄漏。 10. **预处理指令**: 包括`#include`、`#define`、`#ifdef`等,用于文件包含、宏...

    专升本-c语言复习资料.rar

    9. **内存管理**:C语言提供了动态内存分配(malloc, calloc, realloc, free)的功能,让程序员能够精确控制内存的使用。理解内存分配和释放的规则可以避免内存泄漏等问题。 10. **输入/输出操作**:标准输入输出库...

    c语言复习课件。。专升本有用和初学者专用

    理解数组与指针的关系,如何通过指针操作数组,以及指针在动态内存分配和函数参数传递中的应用,是C语言的一大难点。 7. **结构体与联合**:结构体允许将不同类型的成员组合成一个整体,联合则共享同一块内存。这些...

    C语言的复习题

    使用malloc、calloc、realloc和free函数动态地在运行时分配和释放内存。 通过解答这些复习题,学习者可以加深对C语言的理解,提升编程技能,为实际项目开发打下坚实基础。请仔细阅读题目,深入思考,不断实践,以...

    C语言复习题(1)_c语言复习题_

    6. **内存管理**:包括动态内存分配(malloc、calloc、realloc、free)和栈与堆的区别。理解如何有效管理内存,避免内存泄漏,是C程序设计的关键。 7. **预处理指令**:如#include、define、ifdef等,它们在编译...

    华东交大c语言考试复习试题

    7. **内存管理**:包括动态内存分配(malloc、calloc、realloc、free)和内存泄漏问题,理解栈与堆的区别对于优化程序性能非常重要。 8. **文件操作**:C语言提供了标准输入/输出流(stdin、stdout、stderr)和文件...

    C语言重难点复习课件

    10. 动态内存分配:malloc()、calloc()、realloc()和free()函数的使用,理解动态内存分配和释放的机制,避免内存泄漏问题。 七、错误处理与调试 11. 错误处理:理解errno和assert的用法,以及如何通过printf和scanf...

    c语言复习资料,和大家分享一哈!

    【C语言复习知识点】 C语言是一种基础的、高级的编程语言,被广泛应用于系统软件、应用软件、设备驱动、嵌入式系统等领域。复习C语言,我们首先要了解它的基本概念和核心特性。 1. **数据类型**:C语言提供了多种...

    东北大学 计算机考研 C语言复习课件

    7. **内存管理**:了解动态内存分配(malloc, free)和内存泄漏的概念,有助于编写高效且无错误的程序。 8. **预处理宏**:预处理器提供宏定义,条件编译等功能,使程序更具可移植性和可维护性。 9. **文件操作**...

    C语言蓝桥杯复习资料习题

    4. **内存管理**:C语言提供了动态内存分配(malloc、calloc、realloc、free)的功能,掌握内存管理可以避免内存泄漏和提高程序效率。 5. **文件操作**:C语言通过stdio.h库提供了一系列的函数来读写文件,如fopen...

    大学本科理工科C语言考试复习资料

    4. **内存管理**:了解动态内存分配(malloc、calloc、realloc、free)及其使用场景。 5. **输入/输出**:掌握printf和scanf函数,以及文件的读写操作。 6. **预处理指令**:理解宏定义、条件编译等预处理指令的...

    二级c语言复习资料,很好的备考资料

    深入理解指针的概念,熟悉指针运算和指针在数组、字符串及动态内存分配中的应用,也是提高C语言编程能力的关键。 资料包中可能包含的详细内容: 1. **基础教程**:涵盖C语言的基本语法和概念,帮助初学者建立稳固...

    C语言复习资料--编程.zip_C语言_C语言资料_复习_编程_编程复习资料

    这份“C语言复习资料--编程.zip”压缩包包含了一本名为“C语言复习资料--编程.doc”的文档,显然是为了帮助学习者巩固C语言的基础知识和提升编程技能。 C语言的核心概念包括变量、数据类型、运算符、控制结构(如if...

    C语言程序设计复习资料

    学习如何操作数组,包括初始化、遍历和动态分配内存,是必备技能。同时,理解和处理字符串的函数,如strcpy、strlen、strcmp等,也是程序设计中常见的任务。 结构体是C语言中的复合数据类型,它允许我们将不同类型...

    计算机二级考试C语言复习资料笔试加机试

    【计算机二级考试C语言复习指南】 C语言是计算机科学领域中一种基础且强大的编程语言,对于准备参加计算机二级考试的考生来说,掌握C语言的基本概念、语法和编程技巧至关重要。本复习资料旨在帮助考生全面理解和...

    c语言复习题案例.zip

    5. **内存管理**:动态内存分配(malloc、calloc、realloc、free)是C语言编程中重要的一部分,复习题可能要求理解这些函数的使用及其注意事项。 6. **预处理器**:预处理器指令如#define、#include、条件编译(#...

    C语言指针经典总结(复习利器)

    使用`malloc()`和`calloc()`动态分配内存,`free()`释放内存。动态内存管理允许在运行时根据需要分配和释放内存,增加了程序的灵活性。 理解并熟练使用指针是掌握C语言的关键。通过指针,可以实现高效的数据结构,...

Global site tag (gtag.js) - Google Analytics