为您找到"
有定义inta[5]={1,2,3,4,5},如有int*p=a,则*p的值,*(p 2)的值
"相关结果约100,000,000个
查看更多优质解析 解答一 举报 *p = a [0], *a ,* (a+0) , p [0] 都是 数组的第一个元素1 * (p+2),* (a+2),a [2],p [2],都是 数组的第三个元素 3 a 和 p 的差别就是 a指针是常量 无法做改变指针值,p是变量
另外,int *p=a; 表示定义了一个指向 a 数组第一个元素的指针 p。 因此,选项 A. a [3] 表示访问数组 a 的第 4 个元素,即 a 数组下标为 3 的元素,其值为 4。 选项 B. a=2 表示将 a 数组整个赋值为 2,这是错误的,因为 a 是数组名,无法整个赋值。
文章浏览阅读796次,点赞12次,收藏7次。文章详细解释了C语言中指针的概念,包括指针与数组元素的关系、指针的自增操作、赋值语句以及函数参数传递。涉及了指针算术、数组地址计算和函数作用域的示例问题。
) 3.若不给可初始化的数组赋初值,则全部元素均为0值。 4.假如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。 例如:static int a [5]= {1,2,3,4,5};可写为:static int a []= {1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。
这个问题的关键是理解 &a a是一个数组名,也就是数组的首地址。对a进行取地址运算符,得到的是一个指向数组的指针!!!!这句话尤为重要!也就相当于int (*p) [5] = &a;p是一个指针,它指向的是一个包含5个int元素的数组!!那么执行p+1后,p的偏移量相当于 p + s
int a= {1,2,3,4,5} 是一个合法的表达式,它定义了一个长度为5的int数组,并将其初始化为 {1,2,3,4,5}。而 int a= {1,2,3,4,5} 则是一个非法的表达式,因为花括号 {}只能用于初始化数组或结构体,不能用于初始化普通的变量。如果想要初始化一个普通变量,可以使用等号=进行赋值操作,例如 int a=1;。
那抹忧伤 2017.01.06 回答 *p = a[0], *a ,*(a+0) , p[0] 都是 数组的第一个元素1 *(p+2),*(a+2),a[2],p[2],都是 数组的第三个元素 3 a 和 p 的差别就是 a指针是常量 无法做改变指针值,p是变量 1 评论 其他回答 (1)
A、a [10] B、a [3.5] C、a(5) D、a [0] 点击查看答案 单项选择题
若有以下语句: int a [4] [5], (*p) [5]p=a表示指针变量p指向了这个二维数组对象,p的值也就是这个二维数组对象的首地址,对p进行步长加减计算,相当于指针指向某一行数组对象,也就是表示了这个步长计算的值为某一行数组对象的地址。
277820550 幼苗 共回答了14个问题 采纳率:92.9% 举报 *p = a [0], *a ,* (a+0) , p [0] 都是 数组的第一个元素1 * (p+2),* (a+2),a [2],p [2],都是 数组的第三个元素 3 a 和 p 的差别就是 a指针是常量 无法做改变指针值,p是变量 1年前 10 回答问题
第七章 指针 1.选择题 (1)设已定义"int a, *p;",下列赋值 表达式 中正确的是(C)。 A.*p=a B.p=*a C.p=&a D.*p=&a 指针变量 的值是地址,* 为指针运算符,选择C。 (2)若已定义"int a []= {1,2,3,4},*p=a;", 则下面表达式中值不等于2的是(C)。 A.* (a+1) B.* (p+1) C.* (++a) D.* (++p) a表示数组所在地址 ...