您好,欢迎来到汇意旅游网。
搜索
您的当前位置:首页C语言 指针与字符串

C语言 指针与字符串

来源:汇意旅游网

指针的使用

  • 函数返回多个值,通过指针返回结果,指针作为形式参数

  • 函数返回运算状态,结果通过指针返回。即C语言中的try/catch

  • 对数组进行操作

  • 动态申请内存空间

指针与数组

  • 数组变量是特殊的指针

    //以下四中函数原型是等价的  数组名即为数组首地址是特殊的指针
    int sum(int *array, int n);
    int sum(int *, int);
    int sum(int array[], int n);
    int sum(int [], int);
    ​
    int array[5]; // array ==  &array[0]

  • 数组变量是const类型的指针,不可以被改变,不能被赋值

指针与const

  • const int *p;或者int const *p表示不能通过该指针去修改这个变量,*p是const不可修改。(通过指针不可修改)

  • const int a[5]; const数组,数组元素不可修改

指针的计算

  • 指针可以进行的运算:

    1. *p++的含义:取出p所指的内容,并移到下一个位置

    2. ++的优先级高于*

动态内存分配malloc free 2.2.2.c

  • malloc申请内存空间的大小是以字节为单位的

  • malloc返回的结果是void*类型的,使用时需要进行类型转换

  • malloc申请空间失败会返回NULL

字符串操作

  • putchar(),getchar():在保准输入输出读写单个字符

  • 字符串数组:

    1. char **a:a是一个指针,指向另一个指向字符(串)的指针

    2. char a[][]:a是一个字符二位数组

    3. char *a[]:a是一个指针数组,数组元素都是指向另一个字符串的指针

  • int main(int argc, int const *argv[]):argv[0]是命令本身,后续为符号链接的名字(额外学习busybox

  • 字符串函数:#include <string.h>: strlen(); strcmp(); strcpy();

函数的指针

  • 指向函数的指针:void (*pf)(int) = f;

  • 根据用户输入决定调用的目标函数2.4.1.c

    int i = 0;
    void (*fa[])(int) = {f,g,h,k};
    scanf("%d",&i);
    if(i>=0 && i<sizeof(fa)/sizeof(fa[0])){
        (*fa[i])(0);
    }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务