学习杂记(二)c语言
来源:互联网 发布:java 排列组合算法 编辑:程序博客网 时间:2024/05/13 06:56
函数的嵌套调用:在执行被调用函数时,被调用函数又调用其他函数。
函数的递归调用:一个函数在函数体内直接或间接调用自己
递归函数:
1,终止条件
2,递归过程是收敛的
3,收敛是有步长的,用分支语句来区分终止条件和递归过程
分函数设计:
1,一个函数只能做一个操作
2,预测、预计将可扩展的功能,把他作为变化部分
3,对于变化部分,用函数参数进行编程;对于不变的部分,用函数题编程
指针变量:这个变量的内容/数据是另一个变量的地址
*符号的含义:
1,int*:*符号前有类型,*会跟前面的类型结合,表达一个指针烦人类型
2,*pi:*符号前无类型,后边跟一个变量,表达对变量的解引用
解引用*p:指针前面加*表示指针指向内存单元中的内容;指针变量的值的改变,不会引起他原来指向的变量的值发生改变。
指针变量时32/64位(4/8字节)。任何类型的指针变量都是4/8字节(与地址总线的宽度相同)
指针可以作为函数的参数:调用函数时,传递的是参数值的复制拷贝
函数的入参和出参
出参:一定是一个指针,一定无CONST修饰(const修饰的变量表示:指针指向的内存空间不可被改写)
入参:基本类型或是指针
const int *pi和int const *pi:指针指向的内存空间不可被改写
int *const pi:指针本身不可被改写
函数的地址:一个函数在编译时会分配一个入口地址,这个函数的入口地址既为函数的地址,也叫作函数的指针
函数指针的格式: type (*function)(type param,type param)
注意区别type *function (type param)-----返回值为指针的函数
malloc 和free:分配和释放一个动态内存,在#include<stdlib.h>中
malloc :返回一个分配好的内存首地址,错误返回空
注意:malloc与free要配对使用
程序:动态开辟输入空间
char *input_old(){char *pstr = NULL;int i = 0;int len = 1;char ch;pstr = (char *)malloc(sizeof(char));memset(pstr,0,len);while(1){scanf("%c",&ch);if(ch != '\n'){pstr = (char *)realloc(pstr,len+1);pstr[i] = ch;i++;len++;}else{break;}}pstr[i] = '\0';return pstr;}
0 0
- 学习杂记(二)c语言
- C 语言学习(杂记)
- 学习杂记(一)c语言
- 学习杂记(三)c语言
- c语言学习中的杂记
- 杂记之C语言之指针(二)
- 杂记之C语言之结构(二)
- C语言杂记(1)
- 51单片机C语言学习杂记
- c语言学习的的杂记
- C语言学习——数据类型杂记
- linux学习杂记(二)
- Hadoop学习杂记(二)
- CSDN学习杂记(二)
- C语言学习(二)
- 杂记之C语言函数getchar()
- 51C语言杂记
- c语言杂记
- HTML基本知识点——图片标记
- HTML5第五课时,CSS基本写法
- RxBus对比EventBus
- Java中静态变量、常量、方法
- 洛谷P1164 小A点菜(递推)
- 学习杂记(二)c语言
- 二叉树的最小深度
- SRM593 Div1 450
- Ubuntu VLC没有声音解决
- Linux十个命令补全技巧(下)
- HTML基本知识点——Table表格
- HTML5第五课时,标签选择器
- 1064. 朋友数(20)
- POJ3668Game of Lines(数学问题)