![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
JYR~
这个作者很懒,什么都没留下…
展开
-
【C语言】复习
目录C语言 (复习)1、malloc,calloc 和 realloc 的作用及区别2、static 关键字的用法及作用3、指针和数组的区别4、大端和小端5、二分(折半)查找6、实现 Myatoi 函数C语言 (复习)1、malloc,calloc 和 realloc 的作用及区别 malloc 使用的最频繁,因为它最简单,只需要一个参数,即需要动态开辟的内存的字节数, 如果堆里的连续空间能满足需要则将分配好的内存首地址返回,...原创 2020-09-06 15:39:42 · 187 阅读 · 0 评论 -
结构体大小-C语言
内存对齐:各种数据存放的地址要能够整除该数据本身的字节数char可存放在任意地址,short存放在能被2整除的地址,int存放在能被4整除的地址…1、先将每个成员的字节数写出,然后从第二个成员开始,将前面成员的总字节数补齐成当前字节数的倍数2、结构体的总大小,一定要能整除单个成员最大类型的大小//结构体大小struct A{ int a; int b;};struct B...原创 2019-03-17 18:32:52 · 201 阅读 · 0 评论 -
二维数组-C语言
1.二维数组定义时为变量(int brr[3][4]表示行为3列为4的数组)。使用时为下标(brr[1][2]表示二维数组中1行2列的数。注:二维数组中行优先int main(){ int brr[3][4]; int crr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int drr[3][4] = {1,2,3,4,5,6,7,8,9,...原创 2019-03-02 19:22:22 · 419 阅读 · 0 评论 -
C语言习题: 给一个不多于5位的正整数,要求: (1)求出它是几位数 (2)分别输出每一位数字 (3)按逆序输出各位数字,例如原数为321,应输出123
4.9给一个不多于5位的正整数,要求:(1)求出它是几位数(2)分别输出每一位数字(3)按逆序输出各位数字,例如原数为321,应输出123代码:#include “stdio.h”int count(int n){if(n==0){return 1;}{int tmp=0;while(n!=0){tmp++;n/=10;return tmp;}}}voi...原创 2018-10-17 16:53:52 · 5207 阅读 · 1 评论 -
const的使用 --- C语言
const的用法:定义常变量,不允许修改其值(只可读)eg:int const ca=10;//const修饰ca,ca的值不能改变,为定值。1.基本的数据类型对于const是透明的;(1)int const ca=0;//ca和cb是等价的;const修饰ca和cb;const int cb=0; const int cb=10; cb=20//error 不可...原创 2019-02-28 15:09:48 · 76 阅读 · 0 评论 -
指针的算数运算 --- C语言
1、指针±1,加或者减一个指向的单元格2、指针加法(减法)需要调整,调整的权重为sizeof(指针去除一个*)*3、指针+指针 非法,没有意义4、指针-指针:结果为间隔的单元个数,可正可负,(1)加粗样式、算出间隔的字节数,(2)除以调整权重总而言之:指针的算术运算都需要调整int main()****{int p = (int )0x2010;printf("%x\n",p...原创 2018-11-02 14:27:14 · 228 阅读 · 0 评论 -
习题(求n进制)--- C语言
eg1:假设在n进制下,下面的等式成立,567456=150216,n的值是(18)解:567456=(5n ^ 2+6n+7)*(4n ^ 2+5n+6)=20n ^ 4+49n ^ 3+88n ^ 2+71n+42 150216=n ^ 5+5n ^ 4+2n ^ 2+n+6可得出:20n ^ 4+49n ^ 3+88n ^ 2+71n+42= n ^ 5+5n ^ 4+2n ^ 2...原创 2018-10-29 15:31:15 · 269 阅读 · 0 评论 -
浮点数精度问题 --- C语言
浮点数精度问题例子:#include “stdio.h”int main(){float a=123456789;printf("%f",a);}结果:说明浮点数存在误差问题–浮点数的误差EPS//方程的根有两个,不能返回void Fun(double a,double b,double c)//todo,if else if else{#define EPS ...原创 2018-11-27 10:54:34 · 216 阅读 · 0 评论 -
If的用法 --- C语言
if的用法:1、若表达式1为真,执行语句块1;语句块2无论表达式1是否为真都执行2、若表达式1为真,执行语句块1,否则执行语句块2eg://a,b,c从大到小输出//void 没有,返回值,参数列表void Show(int a,int b,int c){int tmp;if(a < b){tmp = a;a = b;b = tmp;}//a >= bif...原创 2018-11-27 11:15:11 · 668 阅读 · 1 评论 -
字符串的常见用法 --- C语言
*1、字符串:用""包括的字符序列,末尾自带’\0’。只要以’\0’结尾的字符序列都是字符串(只要遇到’\0’就认为字符串已经结束)2、0:’\0’,false,NULL3、重要的等式:str[i] == (str+i)//字符串的复制//desstr = srcstr(将左值赋值给右值)void Mystrcpy1(char *desstr,char *srcstr){ int i...原创 2019-02-25 18:35:17 · 374 阅读 · 0 评论 -
指针与数组 --- C语言
概念:指针:指针就是地址数组:存储多个相同类型数据的集合注意:数组越界问题数组作为参数传递,不仅需要地址,还需要长度指针:int a = 10;int b = 20;int *p; // 定义整型指针( 地址) 变量p = &a; //”&” 取地址符,&a 取a 的地址int *p1 = &...原创 2020-03-08 18:34:31 · 170 阅读 · 0 评论 -
字符串问题 --- C语言
//字符串:利用“”包括起来的一系列字符。字符串的末尾有个’\0’,//’\0’是字符串结尾标记,如果没有’\0’则不是字符串int main(){char arr[5] = {‘a’,‘b’,‘c’,‘d’,‘e’};//不是字符串char brr[5] = {‘a’,‘b’,‘c’,‘d’};//0,’\0’//是字符串char crr[] = {‘a’,‘b’,‘c’,‘d’...原创 2018-11-02 14:36:20 · 102 阅读 · 0 评论