美文网首页
C_Cpp-C语言回顾

C_Cpp-C语言回顾

作者: lioilwin | 来源:发表于2017-08-27 16:22 被阅读15次

一.数据类型及长度

1.java(虚拟机平台,数据长度固定) 
    byte short int long float double char boolean
     1    2     4    8    4      8     2  不确定(4或1) 

2.C语言(不同平台数据长度不同)
    char short int long float double
      1   可用sizeof获取数据长度
    signed(默认) unsigned
    
    枚举
    enum WeekDay{
        Monday=1,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
    };
    enum WeekDay wd = Sunday;
    printf("%d\n",wd);
    
    联合体
    union mix{ 
        double d; int i; char c; 
    };
    在Union中,所有成员不能同时存在,总长度等于最长成员的长度
    
    结构体
    struct date { 
        double year;int month;char day; 
    };      
    在struct中,各成员同时存在,总长度等于所有成员之和    

二.输入输出

#include <stdio.h> // 输入输出库
#include <stdlib.h>
system("java hello");// 调用系统命令,执行java代码
system("pause");// 调用系统命令,让控制台暂停
    
1.输出
    %hd short half d 
    %d  int
    %ld long int
    %f  float
    %lf double  long float 
    %u  无符号数
    %x  十六进制
    %o  八进制
    %c  char
    %s  字符串
    int i=3;
    printf("int =%d\n",i);
    
2.输入
    int i;
    char c[3];
    scanf("%d",&i);
    scanf("%s",c);

三.指针

1.指针代表内存地址  
指针变量 存放内存地址的变量  
*含义 
    1.乘法   
    2.指针变量类型 int* p;
    3.指针变量取值 *p = 2;
    
2.指针常见错误 
    1不给指针变量赋值,直接用,野指针 int* p; *p =2;
    2指针类型和赋值类型不匹配 float f; int* i=&f;
            
3.指针和数组
    数组元素在一块连续内存中 
    数组变量对应数组首元素地址 int a[3]; a=&a[0];
    char* c="HelloWorld" 表示字符串char c[]="HelloWorld";

4.多级指针
    int i=3;
    int* p1=&i;
    int** p2=&p1;
    int*** p3=&p2;  

5.函数指针
    int add(int x,int y){    
        return x+y;
    }
    int (*f)(int x,int y);
    f=add;
    f(3,5); 

四.内存分配

data区 常量池  
code区 存放代码 main()等等
栈区 静态自动分配和释放 连续分配
堆区 动态手动分配和释放 不连续分配(链表)
    malloc() 手动分配内存 memorry alloc
    free() 手动释放内存
    
int* p=(int*)malloc(sizeof(int)); //手动分配内存
*p=3;
free(p);  //手动释放内存

简书: http://www.jianshu.com/p/b35971db05df
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/72455747
GitHub博客:http://lioil.win/2017/05/17/C_review.html
Coding博客:http://c.lioil.win/2017/05/17/C_review.html

相关文章

  • C_Cpp-C语言回顾

    一.数据类型及长度 二.输入输出 三.指针 四.内存分配 简书: http://www.jianshu.com/p...

  • C 语言回顾

    当你写下面代码发生了什么 用预处理指令#define 声明一个常数,用表示1年中有多少秒(忽略闰年问题) 写一个标...

  • C语言回顾

    基础知识 控制流 基础知识补充 其他主题

  • 回顾linux、C语言

    今天考完了大学期间最后一门试,感到激动。但是这也意味着我的学习生涯的即将结束,有喜有悲。 这样的同时我也...

  • C语言回顾(1)

  • 网络安全-Day20-学习回顾

    学习回顾 一、静态动态语言区别 动态语言 1、动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也...

  • C语言指针回顾-1

    巩固C指针——1 终于有时间来写一下文章了,昨天满课,没学到什么东西,今天课比较少,就回去看了看C语言的指针,顺便...

  • 宝宝语言启蒙课回顾

    在宝宝出生前几个月的时候,偶然机会了解到这一课程——“语言启蒙课:宝宝说得早又好”,购买下听过一遍。生产前后的忙忙...

  • C语言快速回顾

    关于数组 数组应该可以看做一个常量指针,也就是只能赋值一次。 关于函数指针 通过typedef 类型 (*类型名)...

  • [C语言回顾]控制流

    控制流(flow of control)指的是执行程序语句的顺序。 任何复杂的算法,都可以利用四种控制流结构的组合...

网友评论

      本文标题:C_Cpp-C语言回顾

      本文链接:https://www.haomeiwen.com/subject/dcgvdxtx.html