指针内存分配问题
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { char buf[128]; //C可以在栈上分配内存 int i; int j = 0; char *p2 = NULL; //C可以在栈上分配内存 char *p1 = NULL; p1 = &buf[0]; //不断的改变p1的值相当于不断改变指针的指向 p1 = &buf[1]; p1 = &buf[2]; for(i = 0; i < 10; i++) { p1 = &buf[i]; } p2 = (char *)malloc(100); //堆上分配内存 strcpy(p2, "abcdef1234454"); for(i = 0; i < 10; i++) { p1 = p2+i; //p1 = &p2[i]; printf("%c ", *p1); } return 0; }
内存分配和指针的指向
欢迎加入作者的小圈子
扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并,获取更多隐藏干货,QQ交流群:859800032 微信公众号:Crystal软件学堂
|
作者:Liu_Jing bilibili视频教程地址:https://space.bilibili.com/5782182 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。 如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。 文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。 |

浙公网安备 33010602011771号