C言語day 08-13マルチレベルポインタ
2162 ワード
pragma markマルチレベルポインタ
pragma mark概念
pragma markコード
pragma mark概念
pragma markコード
#include
int main()
{
#warning
/*
char charValue = 'l';
char *p;
p = &charValue;
// charValue = 'y';
*p = 'y';
printf("%c
",*p);
*/
#warning
/*
char charValue = 'l';
// 1.
// 2.
// 3.
char *charValueP;
charValueP = &charValue;
// 1.
// 2.
// 3.
char **charValuePP; // 8
// printf("size = %lu
",sizeof(charValuePP));
charValuePP = &charValueP;
// 1
// charValue = 'j';
// 2
// *pcharValuep == charVlaue
// *charValueP = 'j';
// 3
// &charVlaue == charVlaueP
printf("&charValue = %p
",&charValue);
printf("charValueP = %p
",charValueP);
// &charValueP == charVlauePP
printf("&charValueP = %p
",&charValueP);
printf("charValuePP = %p
",charValuePP);
// *charVlauePP == offc14 == charValueP
// *pp = p
// **charValuePP = *(charValuePP) == *charValueP == 0ffc14 == y
**charValuePP = 'N';
// printf("%c
",charValue);
// printf("%c
",*charValueP);
printf("%c
",**charValuePP);
*/
char c = 'a';
char *cp;
cp = &c;
char **cpp;
cpp = &cp;
char ***cppp;
cppp = &cpp;
printf("cppp = %c
",***cppp);
/*
*cp == c;
*cpp == cp;
**cp == *(*cpp) == *cp == c
, , ,
, ,
*/
printf("c = %c
",c);
printf("&c = %p
",&c);
printf("*cp = %c
",*cp);
printf("cp = %p
",cp);
printf("**cpp = %c
",**cpp);
printf("*cpp = %p
",*cpp);
return 0;
}