C 语法

 
#include <stdlib.h>   <stdio.h>
system(""); 命令  调用系统的指令
C 基本数据类型    没有boolean 没有byte    c  Char类型 1字节  long类型 4字节 多了一个signed unsigned 有符号无符号
用来修饰整型变量   加上unsigned之后 最高位不是符号位而是数值位
 
C的输出函数 printf("字符串+占位符(变量)", ......)    字符串 %s
C 的字符串的定义方式   char str[] = {'a','b','c','\0'}; \0 字符串的结束符  
c的数组的声明方式   [] 需要放到变量名的后面
char str[] = "你好";
char* str = "你好";
 
C 的输入函数    scanf("占位符",&变量名);     c的数组不检测越界
内存地址的概念   给每一个byte的内存 添加一个编号 这个编号就是内存地址 通过内存地址来进行内存的访问
 
int i = 123;
int* p = &i;   p的值  *p 是什么意思  &p值什么
值传递 传递的当前变量中保存的值  java没有指针 只能做值传递 不能用引用传递
引用传递  变量的地址值   
 
数组和指针 通过指针操作数组
数组变量名的地址 就是第一个元素的地址 就是这个数组的首地址
获取到了数组的首地址之后就可以通过指针的位移运算来对数组进行操作
位移运算  指针每+1 地址变化几个字节 跟指针变量的类型有关系  
 
指针变量的长度   32位环境 4byte    64位环境 8byte      硬件  操作系统 编译环境 如果这三个条件有一个是32位的 就是32位环境   只有当硬件  操作系统 编译环境 都是64位的时候 才能是64位的环境
 
多级指针  n级指针的变量地址 要用n+1级指针来保存   int i = 123;   int* p = &i;  int** p2 = &p; int*** p3 = &p2;
 
静态内存分配 栈内存  大小固定 超过固定的大小 栈溢出 stackoverflow  系统统一分配回收
                         c 数组可以在栈当中 
动态内存分配   malloc   free realloc  堆内存  
 
结构体  class   struct 名字   只能声明变量    大小
函数指针    返回值(*函数指针名字)(形参);
结构体的指针    struct studeng stu;   struct student* p = &stu;
                                (*p).        p->
                          struct student** p2 = &p;        (**p2).  (*p2)->
 
联合体union 枚举enum    typedef 

转载于:https://www.cnblogs.com/nangongyibin/p/10425278.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值