您现在的位置:主页 > www.698333.com >

c语言指针申请空间问题(简单)无错单双四肖

发布日期:2019-09-24 22:32   来源:未知   阅读:

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

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

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

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

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

  展开全部这个你只要了解指针的用法你就明白了,指针是指向地址的一个数据类型 比如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]; 操作系统执行时会给程序分配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?