c语言指针申请空间问题(简单)

【发布日期】:2019-10-09【查看次数】:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部这个你只要了解指针的用法你就明白了,指针是指向地址的一个数据类型 比如int b = 2; int *a = 那么a就指向b所在的地址。最通俗的就是a是门牌号b是房子,吧a挂在b上你就可以通过a找到b;并且如果不限制你,你也可以进入这个房子修改里面的东西。 回来说你上面的问题,如果换成

  char *c;那么c就是个门牌号,如果不用malloc申请空间,就相当于只有门牌号没有房子,你通过c这个门牌号找到的房子不是你的,但是你还欺骗这些字符串说这里有房子,他们相信你了,他们进去了就和原来主人打架,然后就把房子拆了这就出错了。malloc相当于给你自己建房子,你就可以合法居住了。每个门牌号都要有一个属于自己的合法房子所以你说的移到下一个数据域时还要重新申请空间,是因为你的门牌号变了!!!!那int*p;p=为什么可以不用malloc 我虽然知道这个比较不太好,但是大致意思就是什么时候该用malloc?还有链表里面,定义了*p,第一个malloc我已经有点不理解了,结果它p=q;之后p又一次malloc申请了空间。。。看不懂啊。为什么有的指针可以直接用 有的却要malloc?int *p=p就可以不用malloc。a就好比是一个房子,p挂上牌子就被p占领了,所以p不用另外再造房子。 p=q;之后之所以还要申请空间是因为p指向的地址已经变了,所以另需分配。建议你去看一下指针的基础概念。

  展开全部char c[80]; //你为c开设了80个字节的存储区来折腾

  char *c; //你没有开设存储区,那么如何或者说在哪里去倒腾字符串呢?

  char *a=I am; //这里虽然自己没有开设空间,但是偷懒行为,挂牌网!是依赖系统的常数存储区

  链表中作为指针一定在使用前要确认指向自己程序开设的存储区,否则就要出错;移到下一个数据域时如果这个域你没有申请存储区那么可以认为是不存在的,所以需要用malloc开存储区

  展开全部char c[80]; 操作系统执行时会给程序分配80Byte的连续栈内存空间,如果写成char *c 则只是一个指针而已,不会分配连续的空间以存放字符串的。我和一个女生谈恋爱被骗了一万多报警有

  这里的blabla位于呈程序的字符串常量区,程序被装入的时候就会分配地址。, char* a 也只是一个指针而已。

  那int*p;p=为什么可以不用malloc 我虽然知道这个比较不太好,但是大致意思就是什么时候该用malloc?还有链表里面,定义了*p,第一个malloc我已经有点不理解了,结果它p=q;之后p又一次malloc申请了空间。。。看不懂啊。为什么有的指针可以直接用 有的却要malloc?指好了位置的指针就是好指针,可以拿来用。没指对地方的指针拿来用就有问题。malloc可以去看看malloc详解,malloc free对比一下C++的new delete来理解。

  展开全部malloc申请内存空间是有风险的,如果内衣这么个连续的内存空间,那么申请内存空间就会报错,用数组最保险

  那int*p;p=为什么可以不用malloc 我虽然知道这个比较不太好,但是大致意思就是什么时候该用malloc?还有链表里面,定义了*p,第一个malloc我已经有点不理解了,结果它p=q;之后p又一次malloc申请了空间。。。看不懂啊。为什么有的指针可以直接用 有的却要malloc?

上一篇:QQ空间设置权限访问别人发送的申请访问的信息在哪看

下一篇:请问QQ空间同意一次申请后此人永久性的可以访问我空间吗?

06543黄大仙| 手机开奖现场直播| 苹果报| 管家婆彩图| 曾夫人论坛开奖结果| 香港挂牌| 解新老藏宝图| 0149香港王中王| 开奖记录| 香港金多宝| 877877好彩论坛| 创富图库| 香港神童网| 状元红高手坛| 诸葛神算网|