zoukankan      html  css  js  c++  java
  • C编程经验总结4

    {}体里的语句不管在一行还是在多行,之间都是要有;

    for与for之间可以是独立的,也可以是相互嵌套的

    For( ; i<5; )=for( ;i<=4;  )

    一般都是在循环里面进行判断,比如for里的if

    For()   if()等后面如果是一句,可以不加{} 如果是多个句,则要加,因为不加时候,默认只执行一句

    在循环遍历中,只需要结果,不需要过程时,可以对结果进行高一级的分类,然后分支输出

    每个代码段是干嘛的要养成注释的好习惯

    做比较找最大最小的时候要注意用中间介

    自己写个排序代码

    2维数组的初始化有两种,2维数组对于2维画面的显示是很有效

    1维数组一般用于排序  字符串默认以 结束  数组是存储数据一个很重要的工具

    字符串用“ ” 字符串其实与字符码有关

    ********************************************************************************************

    指针变量  指针可以返回多个值

    变量的名字  变量的地址  变量的地址的地址(2层了)

    指针变量的本质就是:变量的地址(通过变量的地址,可以访问变量的内存的值)  adder=&key  

    指针是对变量访问的另外一个方法,通过访问变量的指针来访问变量的值

    指针本身自己是变量,也有自己的地址,于是衍生出指针的指针……  *****a

    就是利用指针间接的访问另外一个变量    指针有点像寄存器  一个地址肯定对应一个变量

    Int *p; (p为指针变量,指向的值是int型的)

    *********************终于发现我的键盘不能长时间重按***********************

    指针变量的初值  p=&i;(常用)

                    P=null;

                    P=(int *)  1732;(不提倡)

    注意:指针的类型:指的是所指向变量的类型,不是地址值的类型

    *p(用于访问指向的变量的值)  p是指针,但是*p是变量的值

    指针的值 变量的地址  变量的值  

    *p++=*(p++)

    使用指针可以操作被指变量的值,一旦被指,则就是被掌控了,类似于病毒

     函数调用的先后顺序是在主函数里面来顺序控制

    指针变量的函数里面一定有对于指针的赋值,然后在调用的时候是用&来调用

    在形参里面,是*P,这时候已经是变量的值了

    形参是函数定义的时候的  引用调用是更为灵活             

    当参数返回值大于一个的时候,就可以用指针,这就是指针的妙处,通过调用指针变量可以来改变主函数中的变量值。

    关于return返回值一般是一个,所以之前的方法不行了,这时候新的技术,指针就出现了。

    数组感觉是动态的指针,可以通过指针给数组赋值  其实c中,本质的运行程序都是通过指针进行的

    数组作为函数的参数的时候,其实是基地址作为变量  

    数组作为函数的参数,函数里面一般都是对与数组进行处理的

    数组和指针可以完成同样的工作,一般用指针吧

    注意:循环里面肯定是嵌套着判断,但是那和分支的判断是不同对的性质

    字符串一般是以数组的形式出现,一般与字符码有关   gets()用于接收字符串

    字符指针  字符串常量本质是指向字符串首地址的指针  

    数组的一切可以用指针来做   %s是输出字符串   

    Printf() 在字符串方面,函数的参数是首地址(其实这时候更像scanf())

    这是在字符串和其他变量之间的区别

    注意:字符串指针和其他指针是不同的

    新的指针的初始化: char *p=”abcde”;   指向一个字符串变量

    用指针比用数组少占内存   指针字符串比数组字符串更加方便  

    可以把一个数组给一个指针变量,因为数组的本质其实就是该数组的首地址

    Char *s,str[];

    S=str;

    Scanf(“%s”,s);

    习惯与定义指针的初值都为NULL

    处理字符串时候要有string.h   Ctype.h  stdlib.h

    字符串的输入都是以回车或是空格为判断结束的  在存储的时候都是附加

    Puts() 在输出时,遇到则自动转化的

    Scanf()遇到空格或回车符结束输入  gets()是遇到回车符结束

    Char  

    *strcpy(cahr *a,char *b)  ——把b复制到a,覆盖a.一般用于字符串之间的赋值

    Strlen(); 长度不包括附加的  字符串相关的函数里都是以数组进行存储的

    一个字符串名,其实指的是字符串的初始地址

    Strcmp(a,b)     >返回正数 <返回负数 =返回0  字符串的比较其实是比较当不同位的码值的大小

    Negative(消极,负的)

    指针就是用来实现内存的动态分配

    if里的Exit(); 类似于函数里面的return();

    Pree(); 动态存储释放函数,参数为内存区域的指针

    定义指针的时候 int *是一个整体

    内存的动态分配,用完之后要释放

    Void *malloc(长度) 它返回一个指针

    If  (p=(int *)malloc(n*sizeof(int)))==null)   意思就是申请失败

    计数的动态存储分配函数calloc()

    Void *calloc(n,每个段的长度值) 它会进行内存的初始化

    Realloc(void *a,长度值)  ——分配调整函数(调整已经分配的内存的大小)

    结构变量 structure 

  • 相关阅读:
    Selenium等待:sleep、隐式、显式和Fluent
    开源礼节
    IntelliJ中基于文本的HTTP客户端
    Selenium4 IDE特性:弹性测试、循环和逻辑判断
    CF 1400G.Mercenaries 题解【SOSDP 组合数学】
    Educational Codeforces Round 33
    Educational Codeforces Round 32
    Educational Codeforces Round 31
    Educational Codeforces Round 30
    Educational Codeforces Round 29
  • 原文地址:https://www.cnblogs.com/niu3/p/9352048.html
Copyright © 2011-2022 走看看