五、、指针

  • 定义: 若int *a,则*a 是取指针,a表示变量的值,&a表示取变量的地址

应用

  • 可以使用指针指向变量或数组,并通过指针访问这些变量或数组的值。例如:
int *sum = NULL;  // 指针的声明,初始化为NULL
int d, a = 1, b = 2, c = 3;
sum = &d;  // 将指针指向变量 d
*d = a + b + c;  // 使用指针修改变量 d 的值
printf("%d", *sum);  // 输出指针指向的值

(2)对于数组,可以通过指针遍历数组的元素:

int arr[10], *p = arr;  // 将指针指向数组的第一个元素
for (int i = 0; i < 10; i++) {
    printf("%d", p[i]);  // 访问数组元素
}
  • 指针可以作为函数参数,通过指针可以在函数中修改传入参数的值。这样可以实现对实参的改变。例如:
#include <stdio.h>

void swap(int* p, int* q) {
    int t = *p;
    *p = *q;
    *q = t;
}

int main() {
    int a = 3, b = 5;
    swap(&a, &b);
    printf("a=%d, b=%d\n", a, b);
    return 0;
}

作业

关注公众号[Kimo姬]即可获得答案,还有实用工具等着你。简洁好用的公众号,无付费项目无捆绑应用

  1. 使用指针遍历数组并输出
    针对给定数组 int arr[5],编写程序使用指针遍历数组并输出数组中的元素。

  2. 交换两个变量的值(指针应用)
    编写一个函数 void swap(int *a, int *b),实现交换两个整数变量的值,并在 main 函数中调用该函数测试。

  3. 求取数组的和与平均值(指针应用)
    编写一个函数 void calculateSumAndAverage(int arr[], int length, int *sum, double *average),计算给定整数数组的和与平均值,并在 main 函数中调用该函数测试。

  4. 判断奇偶数(指针应用)
    编写一个函数 int isOdd(int *num),判断输入的整数是奇数还是偶数,并返回 1 表示奇数,0 表示偶数。在 main 函数中调用该函数测试。

  5. 查找数组中的最大值和最小值(指针应用)
    编写一个函数 void findMaxAndMin(int arr[], int length, int *max, int *min),通过指针返回给定整数数组的最大值和最小值,并在 main 函数中调用该函数测试。

  6. 翻转字符串(指针应用)
    编写一个函数 void reverseString(char *str),实现翻转输入的字符串,并在 main 函数中调用该函数测试。

  7. 复制字符串(指针应用)
    编写一个函数 void copyString(char *src, char *dest),实现复制源字符串到目标字符串,并在 main 函数中调用该函数测试。

  8. 使用指针实现字符串连接(不使用内置函数)
    编写一个函数 void concatenateStrings(char *str1, char *str2, char *result),通过指针实现两个字符串的连接,并将结果存储在 result 中,并在 main 函数中调用该函数测试。

  9. 判断字符串是否为回文(指针应用)
    编写一个函数 int isPalindrome(char *str),判断输入的字符串是否为回文,并返回 1 表示是回文,0 表示不是回文。在 main 函数中调用该函数测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值