#include
using namespace std;
void Foo(char str1[100])
{
cout << "sizeof(str) = " << sizeof(str1) << endl;
}
void GetM1(char *p)
{
p = (char *)malloc(100);
}
void test1(void)
{
char *str = NULL;
GetM1(str);
strcpy(str, “hello”);
cout << str << endl;
}
char *GetM2()
{
char p[] = “hello world”;
return p;
}
void test2(void)
{
char *str = NULL;
str = GetM2();
cout << str << endl;
}
void GetM3(char **p,int num)
{
*p = (char *)malloc(num);
}
void test3(void)
{
char *str = NULL;
GetM3(&str,100);
strcpy(str, “hello”);
cout << str << endl;
}
void test4(void)
{
char *str = (char *)malloc(100);
strcpy(str, “hello”);
free(str);
if (str != NULL)
{
strcpy(str, “world”);
cout << str << endl;
}
}
int main()
{
/test ++/
int a = 4;
a += (a++);
cout << "a= " <<a<< endl;
a = 4;
a += (++a);
cout << "a= " << a << endl;
a = 4;
//(a++) += a; a++取得是临时变量,没法作为左值
cout << "a= " << a << endl;
a = 4;
(++a) += (a++);
cout << "a= " << a << endl;
/*sizeof */
char str[] = “123456789”;
char *str2 = “123456”;
char *p = str;
int n = 10;
void *p1 = malloc(100);
cout <<"sizeof(str) = "<< sizeof(str) << endl;//suan shang ‘\0’
cout << "sizeof§ = " << sizeof§ << endl;
cout << "sizeof(n) = " << sizeof(n) << endl;
cout << "sizeof(p1) = " << sizeof(p1) << endl;
char str1[100];
Foo(str1);
/memory test/
//test1();
test2();
test3();
test4();
system(“pause”);
return 0;
}
11-29
940
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)