char *p[4]={1,2,3,4}; 而输出是printf("%d",p[0]) ;printf("%d",p[1
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/25 21:22:28
char *p[4]={1,2,3,4}; 而输出是printf("%d",p[0]) ;printf("%d",p[1]) ;printf("%d",p[2]) 请问
定义的*P[4] 是什么?还有为什么printf(“%d”,p[0]) 中是输出p[0] 而不是*p[0]呢?p[0]不是地址吗?
答案输出的是:1 2 3
定义的*P[4] 是什么?还有为什么printf(“%d”,p[0]) 中是输出p[0] 而不是*p[0]呢?p[0]不是地址吗?
答案输出的是:1 2 3
p的值就是p[0]的地址
也就是p[0] = *p
那*p[0]是什么?
再问: 指向数组的指针?
再答: 还不明白么
# include
int main(void)
{
\x09int a[4] = {1, 2, 3, 4};
\x09int *p = a;
\x09printf("%d\n", p[0]);
\x09printf("%d\n", a[0]);
\x09printf("%d\n", *a);
\x09printf("%d\n", *p);
\x09printf("%d\n", p);
\x09printf("%d\n", a);
\x09printf("%d\n", &p[0]);
\x09printf("%d\n", &a[0]);
\x09return 0;
}
你编译这个程序看看,发现了什么。
说明数组名本身就是指针,他的值存放的是下标为[0]内存的地址,如果你数组和指针没学好的话可以找我要视频教程,讲的很不错 q q 2 8 7 3 8 5 7 1 9
也就是p[0] = *p
那*p[0]是什么?
再问: 指向数组的指针?
再答: 还不明白么
# include
int main(void)
{
\x09int a[4] = {1, 2, 3, 4};
\x09int *p = a;
\x09printf("%d\n", p[0]);
\x09printf("%d\n", a[0]);
\x09printf("%d\n", *a);
\x09printf("%d\n", *p);
\x09printf("%d\n", p);
\x09printf("%d\n", a);
\x09printf("%d\n", &p[0]);
\x09printf("%d\n", &a[0]);
\x09return 0;
}
你编译这个程序看看,发现了什么。
说明数组名本身就是指针,他的值存放的是下标为[0]内存的地址,如果你数组和指针没学好的话可以找我要视频教程,讲的很不错 q q 2 8 7 3 8 5 7 1 9
char *p[4]={1,2,3,4}; 而输出是printf("%d",p[0]) ;printf("%d",p[1
#include; char *p="ABC" printf("%d",strlen(p)+*p);
{ int a[]={1,2,3,4,5,6}; int*p; p=a; printf("%d\n",*p); prin
char *p[12]={1,2,3,4,5,6,7,8,9,10,11,12}; printf("%s\n",*(p+
main() { #include char *p="ABC"; printf("%d",strlen(p)+*p);
#include main() { char *p="abcde\ofghjik\0"; printf("%d\n",s
main() { int a【】={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf("%d\n
printf("%d",*(*(p+2)+1));讲一下什么意思啊?
int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf("%d",*(p++)
void f(char **p) { char *t; t=(p+=sizeof(int))[-1]; printf("
main() {char c1='F',c2='P'; printf("%d,%d\n",c1,c2); } 解出来是多
# include void fun (int p) { int d=2; p=d++; printf("%d",p);