C++ 代码分析:auto 关键字和指针操作
代码分析:
int a[] = {5, 4, 3, 2, 1};
auto p = a + 3;
auto q = &p;
(*q) ++;
auto k = *p;
解释:
int a[] = {5, 4, 3, 2, 1};:定义一个名为 a 的整型数组,并初始化为 {5, 4, 3, 2, 1}。auto p = a + 3;: 使用auto关键字自动推断 p 的类型,p 的值是 a + 3,即指向数组 a 中下标为 3 的元素的指针。auto q = &p;: 使用auto关键字自动推断 q 的类型,q 是一个指向 p 的指针,指向 p 的地址。(*q) ++;:*q解引用 q 指向的 p,即 p 指向的元素,也就是数组 a 中下标为 3 的元素。++是自增操作,将 p 指向的元素的值加 1。因此,数组 a 中下标为 3 的元素的值由 2 变为 3。auto k = *p;: 使用auto关键字自动推断 k 的类型,k 的值为 *p,即 p 指向的元素,也就是数组 a 中下标为 3 的元素,其值为 3。
结论:
因此,k 的类型是 int 类型,值为 3。
答案:B. int 类型,值为 3
原文地址: https://www.cveoy.top/t/topic/qjMA 著作权归作者所有。请勿转载和采集!