请列出5道C语言关于指针的指针的笔试题并给出答案
时间: 2023-06-26 14:05:01 浏览: 199
1. 指针变量 ptr 存放的是一个整型数的地址,如何通过 ptr 获取此整型数?
答案:*ptr
2. 有一个指针变量 p,它指向了一个已分配的内存区域,那么如何释放这个内存区域?
答案:free(p);
3. 下面的语句有什么错误?如果有,请指出来并纠正。
int *p;
*p = 10;
答案:指针变量 p 没有初始化,应该先给它赋值,例如 int *p = NULL; 或者 int a; int *p = &a; 正确的代码为:
int a;
int *p = &a;
*p = 10;
4. 请写出一个函数,实现交换两个整型变量的值,要求使用指针参数。
答案:
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
5. 请写出一个函数,计算一个整型数组中所有元素的和,要求使用指针参数。
答案:
int sum(int *arr, int len)
{
int s = 0;
for (int i = 0; i < len; i++)
{
s += *(arr + i);
}
return s;
}
相关问题
请列出5道C语言关于指针的指针的笔试题并给出回答
1. 什么是指向指针的指针?
```
指向指针的指针是一个指针,它指向的对象是另一个指针的地址。
```
2. 如何声明指向指针的指针?
```
可以使用两个星号来声明指向指针的指针,例如:int **ptr。
```
3. 如何访问指向指针的指针指向的值?
```
可以使用两个星号运算符来访问指向指针的指针指向的值,例如:**ptr。
```
4. 指向指针的指针有什么实际用途?
```
指向指针的指针可以用于动态分配内存和多级数据结构的访问,例如链表、树等。
```
5. 编写一个程序,使用指向指针的指针来交换两个整数变量的值。
```c
#include <stdio.h>
void swap(int **p1, int **p2) {
int *temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a = 1, b = 2;
int *ptr1 = &a, *ptr2 = &b;
printf("Before swap: a=%d, b=%d\n", a, b);
swap(&ptr1, &ptr2);
printf("After swap: a=%d, b=%d\n", a, b);
return 0;
}
```
请列出5道C语言中关于指针的指针笔试题
1. 编写一个函数,可以将一个整数数组中的元素按照升序排序,并将排序后的数组通过指针返回。
2. 编写一个函数,可以将两个字符串拼接起来,并将结果通过指针返回。
3. 编写一个函数,可以计算两个整数的和,并将结果通过指针返回。
4. 编写一个函数,可以将一个字符串进行反转,并将反转后的字符串通过指针返回。
5. 编写一个函数,可以将一个整数数组中的元素进行去重操作,并将去重后的数组通过指针返回。
阅读全文