C 测验 4

 以下关于指针的说法,正确的是

 指针是存储变量地址的变量

指针是存储变量地址的变量,而不是存储变量值。指针可以指向数组,且指针的大小与所指向的数据类型无关。

 

以下代码的输出结果是

int x = 5;

int *p = &x;

printf("%d", *p);

p 指向变量 x*p 表示解引用,输出 x 的值,即 5

 

以下关于 malloc 的说法,正确的是

malloc 分配的内存位于堆区,需要手动使用 free 释放,且不会自动初始化为 0

 

 

以下代码的输出结果是

int arr[] = {1, 2, 3, 4, 5};

printf("%d", *(arr + 2));

arr + 2 表示数组 arr 的第三个元素的地址,解引用后输出值为 3


以下关于结构体的说法,正确的是

 结构体的大小可能大于所有成员大小之和

结构体的大小可能因为内存对齐而大于所有成员大小之和。

 

以下代码的输出结果是

int x = 10;

int y = x++;

printf("%d %d", x, y);

x++ 是后置自增,y 的值为 10x 自增后变为 11

 

以下关于 const 关键字的说法,正确的是

const 变量可以通过指针修改,但这是不推荐的做法。

 

 

以下代码的输出结果是

int x = 5;

int y = (x > 3) ? 10 : 20;

printf("%d", y);

三元运算符 (x > 3) ? 10 : 20 判断 x > 3 为真,返回 10

 

以下关于 typedef 的说法,正确的是

typedef 用于为现有数据类型定义新的别名。

以下代码的输出结果是

int x = 5;

int *p = &x;

int **pp = &p;

printf("%d", **pp);

 x 的地址

*pp 解引用两次,最终输出 x 的值,即 5

 

posted @ 2026-05-29 17:25  cnetsa  阅读(5)  评论(0)    收藏  举报