zoukankan      html  css  js  c++  java
  • 注意

    printf("--%s--",str);防止数组中有回车漏掉



    设置反复使用的变量时,一定要注意输入它时它的内存中所存的数值
    考虑对操作的作用。
     
    注意:在写题之前,注意先分析思路,然后再写题

    函数参数传递:
    值传递(实参与形参之间是传值的关系)
    地址传递
    引用传递
     
    #include <stdio.h>
    int sum(int a, int b)
    {}
    int main()
    {
        int *p(int, int);//注意指向函数的指针,变量名必须加小括号
         //int *p(int, int);
        return 0;
    }

     #define String char *

    int main()
    {
        String s1, s2;
        
        s1 = "jack";
        s2 = "rose”;//s2并不是*char类型,而是char类型,只能赋值一个字符
        return 0;
    }

    两个指针可以做减法,所得结果是两个指针之间有几个这样的类型,
    也就是他们所指向的数组元素的下标的差 。  
    char c[10];                    
        printf("%zd      %zd",&c[1]-&c[7],&c[10]-&c[6]);
        运行结果:-6     4
    注意,这里涉及了一个c[10]表达式,但由于代码中没有涉及对c[10]的读写,只是求出指向这个char的指针,这个指针恰恰是c数组之后的第一个指针,这在C代码中没有任何问题,不属于越界访问。

    system("pause");
    system就是调用从程序中调用系统命令(和shell命令)。
    system("pause")就是从程序里调用“pause”命令;
    而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press   any   key   to   exit”的字,等待用户按一个键,然后返回。

    表达式1[表达式2]与(*((表达式1)+(表达式2)))完全等价
    例:
    int i[1]={7};
        printf("i[0]=%d 0[i]=%d ",i[0],0[i]);
    printf("(i+1)[-1]=%d (-1)[i+1]=%d ",(i+1)[-1],(-1)[i+1]);
    i[0],0[i],(i+1)[-1],(-1)[i+1]运行结果相同。

    指针变量所占字节数只与操作系统有关(32位4个,64位8个

    void既可以表示空类型,也可以表示其他类型

    int (*p)[20];//p指向一个有20个int类型数组元素的数组
    int *p[20];//p是一个数组名,数组元素有20个,每个元素都是“int *”类型

    *p++等价于*(p++)

     
    可以用指针修改字符数组,但不可修改常量字符串
    例如:
    char *strings[3] = { "iOS","Android","Win8”};
    可修改内容
    char *strings = “iOS”;
    不可修改

    C语言不会检查越界

    switch语句执行与顺序无关,default语句放置在前面也可以

     

  • 相关阅读:
    hdoj:2075
    hdoj:2072
    hdoj:2071
    hdoj:2070
    hdoj:2069
    test001
    hdoj:2067
    hdoj:2061
    hdoj:2058
    hdoj:2057
  • 原文地址:https://www.cnblogs.com/Alling/p/3971876.html
Copyright © 2011-2022 走看看