C语言关于指针的一个问题
#include"stdio.h"voidmain(){inta[5]={1,3,5,7,9};int*name[5]={&a[0],&a[1],&a[2],&a[3],...
#include"stdio.h"
void main()
{
int a[5] = { 1,3,5,7,9 };
int *name[5] = { &a[0],&a[1],&a[2],&a[3],&a[4] };
int i;
for (i = 0; i < 5; i++)
{
printf("%d", *name[i]);
}
}
以上这个程序,输出的是数组里的5个数字,没有问题。那问题来了:*取的并不是一个地址,而&是取址而不是取值,那为什么 int *name[5] = { &a[0],&a[1],&a[2],&a[3],&a[4] }这句语句可以成立呢。是我对指针的概念有什么误解么?希望大神解答一下 展开
void main()
{
int a[5] = { 1,3,5,7,9 };
int *name[5] = { &a[0],&a[1],&a[2],&a[3],&a[4] };
int i;
for (i = 0; i < 5; i++)
{
printf("%d", *name[i]);
}
}
以上这个程序,输出的是数组里的5个数字,没有问题。那问题来了:*取的并不是一个地址,而&是取址而不是取值,那为什么 int *name[5] = { &a[0],&a[1],&a[2],&a[3],&a[4] }这句语句可以成立呢。是我对指针的概念有什么误解么?希望大神解答一下 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询