当前位置: 首页 > news >正文

中石油网站建设深圳华强北手机市场

中石油网站建设,深圳华强北手机市场,无锡做网络推广,国家企业信息公示信息官网C语言中有指针概念#xff0c;非常抽象灵魂#xff0c;想要完全掌握他不是意见容易的事#xff0c;结合这几天的学习进行一个总结。 一、什么是指针#xff1a;指针实际就是地址#xff0c;#xff08;指针地址#xff09;#xff0c;地址就是具体的位置信息。 二、…C语言中有指针概念非常抽象灵魂想要完全掌握他不是意见容易的事结合这几天的学习进行一个总结。 一、什么是指针指针实际就是地址指针地址地址就是具体的位置信息。   二、什么是变量用于存储某种类型的数据叫做变量比如int a定义了一个整型a变量那么这个时候计算机会给变量a自动分配了一个内存空间这个空间大小按int的占用的字节大小分配如整型占用4个字节内存也就是这么大这块内存空间的首地址就是指针通常可以用取址符取出地址即a这就是内部的空间分配逻辑。 三、什么是指针变量用于存储指针的变量也可以通俗的理解成存储地址的变量专门存储的地址的变量就是指针变量指针变量的定义是int *b b可以用来存储地址的变量 指针变量也是一个存储单元和普通变量一样区别是存储你单元里的内容是指针。 也可以理解成指向具体整型数字的指针。 注意: 对于指针变量 b是不能用*b对存储单元空间进行赋值比如*b10 这个时候会报错的如下 int a 10; int *b; *b20; 正确的写法有2种1指针指向一个有实际空间或已分配了空间的变量 int a 10; int *b; b a; *b20; 2给指针b分配空间如下 int a 10; int *b (int *)malloc(sizeof(int)); *b20; 以上必须要分清楚和理解到位否则很难去深刻运用指针 四、变量内存分配 上述代码中定义一个变量int a10是栈上分配函数结束即回收用malloc是动态分配空间变量的内存分配如下 1、栈区stack— 程序运行时由编译器自动分配存放函数的参数值局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。 2、堆区heap — 在内存开辟另一块存储区域。一般由程序员分配释放 若程序员不释放程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事分配方式倒是类似于链表呵呵。 3、全局区静态区static—编译器编译时即分配内存。全局变量和静态变量的存储是放在一块的初始化的全局变量和静态变量在一块区域 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释放 4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放 5、程序代码区—存放函数体的二进制代码。 五、C语言堆和栈空间如何交互  堆和栈是两个不同的内存区域用于存储程序中的数据。堆是由程序员动态分配的内存空间而栈则是由编译器自动管理的内存空间。 在C程序中堆和栈是两个独立的存储区域相互独立没有直接的交互关系。在函数调用时局部变量和函数参数都被存储在栈中当函数返回时这些变量和参数也会自动从栈中弹出并释放。而堆则是由程序员手动分配和释放内存。 可以使用指针在堆和栈之间传递数据。程序员可以通过将堆上分配的内存的地址存储在栈中来实现这一点。同时也可以将栈上分配的变量的地址存储在堆中。 例如可以使用malloc()函数在堆中分配内存并将其地址存储在指向堆中分配的内存的指针中。然后可以将指针传递给函数该函数可以在堆上分配空间并将结果存储在该指针所指的位置。最终可以使用free()函数释放在堆中分配的内存。 #include stdio.h #include stdlib.hvoid swap(int* a, int* b) {int temp *a;*a *b;*b temp; }int* heap_swap(int a, int b) {int* ptr (int*) malloc(sizeof(int) * 2); //分配堆空间*ptr b;*(ptr 1) a; //将栈上的数据复制到堆空间中return ptr; //返回堆指针 }int main() {int x 10;int y 20;printf(Before swapping: x%d, y%d\n, x, y);swap(x, y); //使用函数交换栈上的数据printf(After swapping using stack: x%d, y%d\n, x, y);int* ptr heap_swap(x, y); //使用堆空间交换数据x *(ptr 1);y *ptr;free(ptr); //释放堆空间printf(After swapping using heap: x%d, y%d\n, x, y);return 0; }
http://www.pierceye.com/news/940691/

相关文章:

  • 中国佛山手机网站建设十大互联网公司排名
  • 手把手指导做网站wordpress 熊掌号插件
  • 宁波网站建设方案报价湖州企业做网站
  • 优化 导航网站百度官网网站首页
  • 各大网站大全河北网站建设seo优化制作设计
  • 做照片的网站前端开发和后端开发
  • 谁能低价做网站支付接口泰州企业自助建站系统
  • 徐州 网站建设辽阳建设网站
  • PHP MySQL 网站开发实例单页应用网站
  • 制作网站的步骤关于企业网站建设的相关思考
  • 统计局网站建设情况ppt设计网站
  • 中石化第四建设公司 网站哪个软件可以看街道实景
  • 郑州做网站哪个平台好全国网站备案
  • 个人网站空间申请html5 网站开发 适配
  • 建站行业如何快速成第一单js制作网页游戏
  • 建立网站后怎么维护做网站自己租服务器还是网络公司
  • 建网站赚钱wordpress 公众号主题
  • 亚马逊网站建设的意义海西高端网站建设
  • 建设静态网站淘宝客怎么建设网站
  • wordpress网站外包浙江省建设厅新网站人员无法查询
  • 广州天与地网站建设石家庄快速建站公司
  • 汕头投资建设总公司网站专做PPP项目网站
  • 双语教学示范课程建设项目网站建设通网站上线
  • 电子商务网站域名注册要求南京电商设计
  • 网站左侧导航设计国内免费服务器地址
  • 怎样上网站dns解析不了图片墙网站源码
  • 东莞网站建设多少钱玩网页游戏的网站
  • 做网上竞猜网站合法吗珠海移动网站建设费用
  • 电视剧手机网站大全网页版微信二维码付款怎么弄
  • 亳州有做网站的吗一站式快速网站排名多少钱