#include"stdio.h"
#include "stdlib.h"
#include "string.h"
//char *P1 形参 形参也是被调用该函数的参数 只不过具有对外属性而已
void getData01(char *p1)
{
printf("getData01() begin \n");
return;
}
//p2 形参 变量
void getData02(char **p2)
{
printf("getData02() begin \n");
return;
}
//不管有几个* 都是变量
void getData03(char ************p3)
{
printf("getData03() begin \n");
return;
}
//对参数的指针类型应该怎么理解?
//理解需要从两个角度出发 1.站在c/c++编译器的角度 对形参,如果是指针类型,c编译器只会分配四个自己的内存
//指针的数据类型到底是什么
//指针的数据类型是值,所指向的内存空间的类型。
//指针的数据类型具有依附性
//指针具有步长,指针的步长是根据它所指向的内存空间决定的。
/*void sendata01(char *p1);
void sendata02(char **p1);
void sendata03(char ***p1);
void sendata04(char *p[]);
void sendata05(char (*p)[10]);
void sendata06(char ***p4);
*/
void main62()
{
char *P1 = NULL;
char **p2 = NULL;
int a = 10;
int *p3 = NULL;
int c = 0;
p3 = &a;
a = 20;//直接通过变量修改A的值
*p3 = 30;//通过指针间接修改内存的值
c = *p3;//*P放在等号的右边是取值
printf("p2:%d\n", p3);
system("pause");
}
void main63()
{
char *p1 = NULL;
char *p2 = NULL;
char buf1[100] = { 0 };
char buf2[200] = { 0 };
// strcpy(buf1, "abcdefg");
p1 = buf1;
p2 = buf2;
while (*p1 != '\0')
{
*p2 = *p1;
printf("%c ", *p2);
p2++;
p1++;
}
system("pause");
}
void main()
{
//{
// char *p = NULL;
// *p = 100;
//}
{
char *p = "abcdefg";
*p = 'z';
}
system("pause");
}
08-12
11-06
11-06
11-06