C语言代码,这个语句什么意思?做了什么事?求指点。 50
怎么理解这三条语句?int(*ptr)[5];int*ptr[5];int(*(*ptr)(int*))[5];...
怎么理解这三条语句?
int (*ptr)[5];
int* ptr[5];
int (*(*ptr)(int *))[5]; 展开
int (*ptr)[5];
int* ptr[5];
int (*(*ptr)(int *))[5]; 展开
3个回答
展开全部
Well,或许看看实例代码会更有利于理解:
1)指向由XXX个元素组成的一维数组的指针(也称为指向数组的指针)
int numbers[] = { 1, 2, 3, 4, 5 };
int(*ptr)[5]; // ptr是指向一个包含了5个元素且为int型的指针
ptr =&numbers;// 取numbers的地址
2)指针数组:数组里的每个元素都是指针
int* ptr[5]; // 数组每个元素都是指针,即每个元素都可以保存地址,理解这点很重要!!!
int a = 1, b = 2;
ptr[0] = &a;
ptr[1] = &b;
3)指向指针函数的数组的指针
int(*(*ptr)(int *))[5]; // 此用法没有研究和使用价值
int (*pf(int *))[5];
ptr= &pf;
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int (*ptr)[5],ptr是一个指针,指向有5个整型元素的数组;
int* ptr[5],ptr是一个数组,数组有5个元素,数组中的元素是指向整数的指针;
int (*(*ptr)(int *))[5], ptr是一个函数指针,它指向的函数的参数是 int *,即指向整数的指针;
ptr指向的函数的返回值是 int(*)[5],即指向有5个整型元素的数组的指针
int* ptr[5],ptr是一个数组,数组有5个元素,数组中的元素是指向整数的指针;
int (*(*ptr)(int *))[5], ptr是一个函数指针,它指向的函数的参数是 int *,即指向整数的指针;
ptr指向的函数的返回值是 int(*)[5],即指向有5个整型元素的数组的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询