• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C基础知识(5):指针--传递指针给函数&返回指针的函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

下面从3个代码例子分别讲述以下2个知识点:

(1) 传递指针给函数(参数类型为指针)

(2) 返回指针的函数(返回类型为指针)

 1 #include <stdio.h>
 2 
 3 // 传递指针给函数&返回指针的函数
 4 // (1) 传递一个int型指针给函数,并在函数内改变这个值
 5 void add(int *base, int num);
 6 // (2) 数组作为参数求和
 7 long sum1(int *arr, int size);
 8 long sum2(int *arr, int size);
 9 // (3) 返回一个指向char类型变量的指针(小写字母变成大写字母)
10 char * upper(char *str);
11 
12 int main() {
13     int a = 100;
14     add(&a, 10); // 110
15     printf("%d\n", a);
16     int arr[5] = { 3, 5, 6, 2, 9 };
17     long b = sum1(arr, 5); // 25
18     printf("%d\n", b);
19     long c = sum2(arr, 5); // 25
20     printf("%d\n", c);
21     char str[] = "hello!"; // HELLO!
22     char *dest;
23     dest = upper(str);
24     printf("%s\n", dest);
25     return 0;
26 }
27 
28 void add(int *base, int num) {
29     *base = *base + num;
30 }
31 long sum1(int *arr, int size) {
32     int i;
33     long tmp = 0;
34     for (i = 0; i < size; i++) {
35         tmp = tmp + *arr;
36         arr++;
37     }
38     return tmp;
39 }
40 long sum2(int *arr, int size) {
41     int i;
42     long tmp = 0;
43     for (i = 0; i < size; i++) {
44         tmp += arr[i];
45     }
46     return tmp;
47 }
48 char * upper(char *str) {
49     // 先保留最初的地址。
50     char *dest;
51     dest = str;
52     while (*str != '\0') {
53         if ('a' <= *str <= 'z') {
54             *str -= 32;
55         }
56         str++;
57     }
58     return dest;
59 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap