函数返回多个值,通过指针返回结果,指针作为形式参数
函数返回运算状态,结果通过指针返回。即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
数组,数组元素不可修改
指针可以进行的运算:
*p++
的含义:取出p所指的内容,并移到下一个位置++的优先级高于*
动态内存分配malloc free
2.2.2.c
malloc
申请内存空间的大小是以字节为单位的
malloc
返回的结果是void*
类型的,使用时需要进行类型转换
malloc
申请空间失败会返回NULL
putchar(),getchar()
:在保准输入输出读写单个字符
字符串数组:
char **a
:a是一个指针,指向另一个指向字符(串)的指针
char a[][]
:a是一个字符二位数组
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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务