`

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语言精简复习资料,可用于学习与复习参考

    内容包含: 1.Linux编程 2.linux标准C 3.变量(数据) 4.变量输入输出 5.运算符 6.代码逻辑结构 7.函数 ...11.内存数据分配 12.复杂类型定义 13.宏定义 14.条件编译 15.多文件编译 16.递归函数,回调函数

    2024新版c语言基础知识点,全新内容c语言基础知识点

    内容涉及C语言的基本结构、数据类型、变量和常量、运算符、控制语句、函数、数组、指针、结构体和联合体等基础概念,以及动态内存分配、递归、指针算术、位操作等高级话题。 **适用人群:** 本指南适合所有准备参加...

    系统级编程 ss6 选择题及复习纲要

    1:指针:是一个变量,可以存储另外一个变量的内存地址,在C语言中,我们可以申明一个变量指向内存的地址,而不是数据本身,可以用“&”...5:动态分配:在程序运行期间为变量分配内存空间。其中包括栈分配和堆分配。

    程序设计抽象思想:C语言描述-

     2.7 动态分配  2.8 小结  2.9 复习题  2.10 编程练习  第3章 库和接口  3.1 接口的概念  3.2 随机数字  3.3 字符串  3.4 标准的I/O库  3.5 其他ANSI库  3.6 小结  3.7 复习题  3.8 编程练习  第Ⅱ...

    C Primer Plus(第五版).part1.rar

    另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程...

    C Primer Plus(第五版)中文版

    另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程...

    C Primer Plus(Fifth Edition)

    另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程...

    C Primer Plus(第五版)中文版[1].pdf

    另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程...

    cprimer5_jb51.rar

    另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程...

    传智播客扫地僧视频讲义源码

    17_结构体做函数内存分配指针 18_结构中套一级指针 19_结构体中套二级指针_传智扫地僧 20_作业强化 21_C提高课程_day01-day04_知识体系梳理_传智扫地僧 源码及文档 01_上次课程回顾 02_二级指针三种内存模型综合训练...

    C语言数据结构算法之实现快速傅立叶变换

    本实例将实现二维快速傅立叶变换,同时也将借此实例学习用c语言实现矩阵的基本操作、复数的基本掾作,复习所学过的动态内存分配、文件操作、结构指针的函数调用等内容。  很久以来,傅立叶变换一直是许多领域,如...

    C++基础教程完整版

    4. 动态内存分配 Dynamic memory 5. 数据结构 Data Structures 6. 自定义数据类型 User defined data types 5. 面向对象编程 Object-oriented Programming 1. 类,构造函数和析构函数,类的指针 Classes. ...

    操作系统精髓与设计原理答案

    复习题: 1.1、 列出并简要地定义计算机的四个主要组成部分。 答:主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。...

    C# Winform数据库应用设计(附开发案例

    程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次 结构中由于多重继承带来的可怕后果。NET框架为C#提供了一个强大的、易用的、逻辑结 构一致的程序设计环境。同时,公共语言运行时( ...

Global site tag (gtag.js) - Google Analytics