首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

字符指针,申请动态内存的有关问题

2012-08-02 
字符指针,申请动态内存的问题#include stdio.h#include stdlib.hchar* strHead;int main(){char *str

字符指针,申请动态内存的问题
#include <stdio.h>
#include <stdlib.h>

char* strHead;
int main()
{
  char *str;
  strHead = str = (char *)malloc(sizeof(char)*100);// (unsigned)strHead 和 (unsigned)str 的值不一样,为什么
  str = "-12.5/(-2.5)#";
   
  //strHead = str; //这样是一样的

  return 0;
}



[解决办法]
strHead指向全局内存区而str指向自己申请的动态堆内存区,一开始两者指向的内存在一个位置。
经过你str="-12.5/(-2.5)#";的操作后,两者指向的内存又不一样了,"-12.5/(-2.5)#"在常量存储器。

热点排行