2 dabentudou dabentudou 于 2016.01.13 23:20 提问

设有说明int (*ptr)[M]; 其中ptr是

设有说明int (*ptr)[M]; 其中ptr是
A. M个指向整型变量的指针 B. 指向M个整型变量的函数指针 C. 一个指向具有M个整型元素的一维数组的指针 D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量

4个回答

caozhy
caozhy   Ds   Rxr 2016.01.13 23:39
已采纳
lm_whales
lm_whales   Rxr 2016.01.14 01:06

这是数组指针,数组类型为int [M];元素个数为M,元素类型为int;

91program
91program   Ds   Rxr 2016.01.14 08:21

数组指针 与 指针数组

推荐一文章,个人的BLOG。

qq_27183003
qq_27183003   Ds   Rxr 2016.01.13 23:30
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
int * (*ptr)()怎么理解(指向函数的指针)
先来分析一下int * (*ptr)() 1.由于小括号的运算级比较高,结合方法又是自左向右,所以先运算(*ptr),表明定义了一个指针ptr 2.接下来再运算最右边的小括号(),表明是一个函数 3.接下平再运算* (*ptr)(),表明函数的返回值是一个指针 4.那么int * (*ptr)()表明定义了一个指针变量ptr,它指向一个没有参数,并且返回值是一个整型指针的函数。这就叫做指向函数的
const char* ptr 到底是什么意思【转载的,从此不再蛋疼】
Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:  把一个声明从右向左读。  char  * const cp; ( * 读成 pointer to )  cp is a const pointer to char --->cp是一个指向字符char的固定指针 const char * ptr;  ptr is a poin
计算机等级考试二级C语言超级经典400道题目(8)
351、设ch是char型变量,其值为A,且有下面的表达式: ch=(ch>=A&&ch<=Z)?(ch+32):ch 的值是____ A) A B) a C) Z D) z、B、3  352、设有如下定义: struct sk {int a;float b;}data,*p; 若有p=&data;,则对data中的a域的正确引用是 A)(*p)、data、a B)(*p)、a C)p
int * (*ptr)()
int(*ptr)*()怎么理解? 2008-12-09 20:23 先声明写成这样int(*ptr)*()是错误的,遇见这样的问题,不用怕一步一步分析就出来了: 1.在上面的表达式中从左到右有四个运算符()、*、*、() 2.运算符的优先级()比*高,()的结合方向是自左到右,*的结合方向是自右到左 3.对于上面的表达式是先运算(*ptr),这是定义了一个指针变量ptr,
指针基础知识
了解各种指针 (1)int*ptr;//指针的类型是int*     (2)char*ptr;//指针的类型是char*     (3)int**ptr;//指针的类型是int**     (4)int(*ptr)[3];//指针的类型是int(*)[3]     (5)int*(*ptr)[4];//指针的类型是int*(*)[4]  
int *ptr=(int *)(&a+1)
int *ptr=(int *)(&a+1)(面试题),有需要的朋友可以参考下。 【问题】:请写出以下程序的输出结果。 int main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d\n",*(a+1),*(ptr-1)); } 【分析】:此题需要理解指针和数组的内在含义。
有关于volatile的说明(含题目)
Volatile 关键字volatile有什么含意 并给出三个不同的例子。 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2).
关于int *ptr=(int *)(&a+1)问题的探讨
《C语言深度解剖》上看到这样一道有意思的题目,是关于数组与指针的问题,描述如下: main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 输出为:2,5 请解释以上代码的输出结果。 答案如下: *(a+1)其实很简单就是指a[1],输出为2. 问题关键就
printf("%d,%d\n", *ptr, *(++ptr))
#include int main(){ int arr[] = { 6, 7, 8, 9, 10 }; int *ptr = arr; *(ptr++) += 123; printf("%d,%d\n", *ptr, *(++ptr)); return 0; } 程序运行结果 : 8,8 解释: ①*(ptr++) += 123这句代码中,使用了后++ 所以效果相当于:
C语言拾遗:常量指针与指针常量(const int *ptr, int const *ptr, int * const ptr, const int * const ptr区别)
一、”const int” & “int const”  我们需要明白,const放在数据类型(int)前面和数据类型(int)后面是一样的,等价。所以  const int *ptr = int const *ptr  二、简单理解“const int *ptr”, “const int * const ptr”, “int * const ptr”的本