69,369
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void f(char * str1, char ** r1)
{
*r1 = str1;
printf("%s",*r1);
}
void main()
{
char str1[10] = "abcdadfsd";
char ** r1 =(char**)&str1;
f(str1, r1);
printf("%s", *r1);
}
#include <stdio.h>
void f(char * str1, char ** r1)
{
*r1 = str1;
printf("%s",*r1);
}
void main()
{
char str1[10] = "abcdadfsd";
char ** r1 =(char**)&str1;
f(str1, r1);//str1指向str1[0]的地址,r1指向str1[0]的元素的地址
printf("%s", *r1);
}
#include <stdio.h>
void f(char *str1, char **r1)
{
*r1 = str1;
printf("%s\n", *r1);
}
int main()
{
char str1[100] = "abcdadsd";
char **r1 = (char **)&str1;
printf("str1's address : %p\n", str1); //打印str1的首地址
printf(" r1 : %p\n\n", r1); //r1里的值,存储的即是str1的首地址
printf(" *r1 : %p\n", *r1 ); //r1指向的地址里的值,
//*r1,即是str1里的前四个字节
printf(" str1 : 0x%x%x%x%x\n\n", str1[3], str1[2], str1[1], str1[0]); //打印str1里的前四个字节
f(str1, r1);
printf("str1's address : %p\n", str1); //str1的首地址
printf(" *r1 : %p\n", *r1); //*r1里的值,现在存放的也就是str1的首地址
char **p = (char **)str1; //结合下面一句打印字符串里的前四个字节
printf(" str1 : %p\n\n", (char *)*p); //与str1的首地址的值是一样的了
printf("%s\n", *r1);
return 0;
}
void f(char * str1, char ** r1)
{
*r1 = str1;
printf("%s",*r1);
}
int main()
{
char str1[10] = "abcdadfsd";
char*p =str1;
char**r1=&p;
f(str1, r1);
printf("%s", *r1);
}