当前位置: 代码迷 >> C语言 >> 关于指针的使用
  详细解决方案

关于指针的使用

热度:130   发布时间:2007-12-12 16:28:47.0
关于指针的使用
#include <stdio.h>

int* swap(int *a,int *b)
{
     int *i=(int*)malloc(sizeof(int));
     *i=*a;
     *a=*b;
     *b=*i;
     return (i);
     }
main()
{
   
      int a=2;
      int b=3;
      swap(&a,&b);
      printf("%d %d",a,b);
      system("pause");
      }


是个简单的交换
如果把 int *i=(int*)malloc(sizeof(int)); 改成 int *i=0;
为什么不成?int *i=0;不为指针i分配空间吗?
搜索更多相关的解决方案: int  指针  malloc  sizeof  swap  

----------------解决方案--------------------------------------------------------
不分配 只是让*i指向NULL
----------------解决方案--------------------------------------------------------
另外 指针占4字节  以后也不会分配空间

int *i=(int*)malloc(sizeof(int)); 只是分配一个空间把地址给i
----------------解决方案--------------------------------------------------------
函数交换了a和b 的值

函数不好,可以说错误,因为调用malloc() 后没有释放内存。
----------------解决方案--------------------------------------------------------
其实,很遗憾地告诉你,像LZ  ” int* i=0; “ 这样用指针是很danger 的!
----------------解决方案--------------------------------------------------------
指针不是这样用的
----------------解决方案--------------------------------------------------------
要是真的想改变实参,就用引用吧...
----------------解决方案--------------------------------------------------------
  相关解决方案