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;
}