C语言
文章平均质量分 61
静沐暖阳
这个作者很懒,什么都没留下…
展开
-
在C和C++中NULL的区别
1.在c和c++中特定指针与通用指针相互赋值的问题特定指针 如:int ,char ,float * 通用指针 如:void*int main(){ int a=10; int *p=&a; char b='y'; char *cp=&b; void *vp=cp; //特定指针赋给通用指针 //cp=vp; //通用指针赋给特定指针,在c中可以,在c++中不可以原创 2017-07-10 12:10:39 · 678 阅读 · 0 评论 -
C语言 求素数、排序算法
一、素数 1.从2到n-1之间依次检查是否有n的因数 题目:判断一个数是否是素数bool Isprimer(int n){ for(int i=2;i<n;i++) { if(n % 2==0) { return false; } } return true;}int main(){原创 2017-06-02 11:40:20 · 3626 阅读 · 0 评论 -
C语言基础知识之四
*一、内存的动态分配1.malloc 原型:void * malloc(unsigned int size); 注:形参size的类型定为无符号整型(不允许为负数),此函数返回的指针指向该分配域的开头位置。 若内存空间不足,则返回空指针NULL 例:int * arr=(int *)malloc(n * sizeof(int)); 2.calloc 原型:void原创 2017-05-03 10:08:52 · 219 阅读 · 0 评论 -
C语言基础知识之三
时间复杂度与空间复杂度1.时间复杂度 T(n)=O(f(n)) 只保留最高项、不要系数(1){++x;s=0;} O(f(n))=O(1) (2)for 1层循环 O(f(n))=O(n) (3)for 2层循环,O(f(n))=O(n^2) (4)for 3层循环,O(f(n))=O(n^3) (5)for(int i=2;i<=n;i++) for(int原创 2017-05-04 20:55:11 · 260 阅读 · 0 评论 -
C语言基础知识之五
C语言允许用户自己建立有不同类型数据组成的组合型的数据结构,它称为结构体。 1.结构体类型形式: struct 结构体名 { 类型名 成员名; }; 2.结构体中可以使用的类型: (1)基本数据类型 (2)前面已经定义好的结构体 (3)结构体本身的指针//以下是举例,不是具有功能的完整代码#include#includestruct Student //st原创 2017-05-07 00:13:42 · 279 阅读 · 0 评论 -
C语言基础知识之二
1.switch是多分支选择语句 switch(整型表达式) { case 常量表达式1 : 语句块1;break; case 常量表达式2 : 语句块2break; default: 语句块;break; } 和case标签值相同时进入,遇到break或switch已结束时跳出 default、case1、case2原创 2017-05-10 21:28:13 · 281 阅读 · 0 评论 -
C语言基础知识之一
基础知识 1.1字节=8位,1K=1024字节,1M=1024K,1G=1024M 一个字节共有8个位,256(2^8)中状态 HEX hex 十六进制 DEC decimal 八进制 OCI octal 十进制 BIN binary 二进制 2.char的范围:-1原创 2017-05-04 23:21:31 · 1175 阅读 · 0 评论 -
C语言 多级指针 解引用
1.解引用int main() {int a = 10;int b = 20;printf("%d %d\n",a,b);//10 20int *p = &a;//p里保存a的地址*p = 100;//对p解引用,将p指向的地址的内容赋为100p = &b;//p指向b*p = 200;//将p指向的地址的内容赋为200printf("%d %d\n",a,b);// 100 200i原创 2017-05-21 17:36:26 · 1367 阅读 · 0 评论 -
C语言习题
1.假设在n进制下,下面的等式成立,567*456=150216,则n的值是() A.9 B.10 C.12 D.18 解析: 首先可以排除选项B,因为肯定567*456!=150216 将等式两端转换为n进制 左侧=(5* n^2+6原创 2017-08-19 22:21:17 · 289 阅读 · 0 评论 -
二维数组 C语言优先级记忆Tips
引入: 一维数组的定义: 动态创建一维数组 :int * arr=(int * )malloc(10* sizeof(int));1.二维数组的定义: 如创建3行4列的数组 第一种方法:int main(){ int count=0; int** arr=(int** arr)malloc(3*sizeof(int*));//开辟二维数组,3行 for(int i=0;原创 2017-08-21 22:23:46 · 603 阅读 · 0 评论