2011.12.3_array,point01

指针方式:

#include <iostream>
#include <string.h>
using namespace std;
void fun(char *aa)
{
 int num = strlen(aa);
 char b[5];
 for(int i = 0; i < num+1; i++)
 {
  b[i] = aa[i];
 }
 cout<<strlen(aa)<<endl
  <<sizeof(aa)<<endl
  <<sizeof(*aa)<<endl;
 /* b[4] = '\0';*/
 cout<<b<<endl;
}
int main()
{
 char a[5] = "abcd";
 fun(a);
 int nStrlen = strlen(a);
 int nSizeof = sizeof(a);
 cout<<a<<endl;
 return 0;
}

 

 

 

动态分配内存方式:

#include <iostream>
#include <string.h>
using namespace std;
void fun(char *aa)
{
 int num = strlen(aa);
 char *b = new char[num+1];
 for(int i = 0; i < num; i++)
 {
  b[i] = aa[i];
 }
 b[num] = '\0';
 cout<<strlen(aa)<<endl
  <<sizeof(aa)<<endl
  <<sizeof(*aa)<<endl
  <<strlen(b)<<endl
  <<sizeof(b)<<endl
  <<sizeof(*b)<<endl
     <<b<<endl
  <<*b<<endl;

delete b;

}
int main()
{
 char a[5] = "abcd";
 char *aa = "defg";
 fun(a);
 int nStrlen = strlen(a);
 int nSizeof = sizeof(a);
 cout<<a<<endl
  <<aa<<endl;
 return 0;
}

posted @ 2011-12-03 14:53  rookieeeeee  阅读(188)  评论(0编辑  收藏  举报