美文网首页
ndk01.1_C简单语法,数组的定义

ndk01.1_C简单语法,数组的定义

作者: IT魔幻师 | 来源:发表于2017-07-28 17:17 被阅读30次

    一、Hello World

    安装 visual studio 2013

    创建vs项目:
    文件->新建->项目->Visual C++ -> Win32 控制台应用程序 ->命名

    hello word:

    int main(){  //主入口
        printf("Hello NDk"); //打印到控制台
        system("pause"); //暂停 使用system需要添加头文件#include <stdlib.h>
        return 0;
    
    }
    

    注释代码的快捷键 Ctrl+k+c

    二、C基本语法

    • 1.基本数据类型:

        //基本数据类型
        //int short long  float double char bool
        //short %d
        //long %ld
        //float %f
        //double %lf
        //char %c
      
        int main(){
            int i = 1;
            printf("%d\n",i);  //%d 此处代表int类型的i , \n 表示换行的意思(控制台打印一个1后换行)
        
            float f = 23.3;
            printf("%f\n",f);  //%f 此处代表folat类型的f
        
            system("pause");  //停住控制台
            return 0;
        }
      
    • 2.标准的输入函数scanf() 与区地址运算符&

        int main(){
            int n;
            printf("请输入一个int数据:\n");
            printf("地址:%#x\n",&n);  //打印n的地址
            // scanf()控制台输入语句
            //%d 需要一个int 或者short 类型的数据
            //&n 取n这个变量的地址  
            scanf("%d", &n);   //从控制台读取一个数据写入到内存里面
            printf("%d\n",n);
            system("pause");
            return 0;
        }
      
    • 3.数组定义

        //1.必须指定数据类型 
        //2.必须定义的时候指定数组长度 分配内存空间
        int intArray[10]; 
        float fArray[10];
      
    • 4.数组定义错误示范:

        //错误一:
        //使用scanf获取N的值不能定义数组,因为scanf函数是在运行的时候才获取值,在预编译的时候n是没有值的 数据的定义一定要确定的值才能分配内存空间,所以就不能通过。
        int n;
        scanf("%d",&n);
        int a_array[n];
      
      
        错误二:
        //也是不能编译通过:因为n也是只有在运行的时候才有值
        int n = 10;
        int a_array[n];
      
      
        正确示范:
        //const修饰int n 之后就能够编译成功,因为const 相当于java中的static ,将n定义在了静态内存中。
        const int n = 10;
        int a_array[n];
      
    • 5.控制流程语句

        //流程控制语句和java是一样的
            for
            if
            switch
            while
            break
            contiue
      

    ---------------------------------------------不怎么华丽的分割线--------------------------------------

    三、错误笔记

    • 1.编译时出错

      出现错误:
      _CRT_SECURE_NO_WARNINGS警告
      解决:
      右键项目根目录->项目->属性->C/C++ ->预处理器->预处理器定中添加 _CRT_SECURE_NO_WARNINGS关闭这个预定义

    四、使用技巧

    • 1.查看内存工具的使用(断点的时候->调试->窗口->内存->)

    五、知识要点

    1. 为什么定义数组的时候一定要指定数组长度?
    C语言中定义数组的时候必须把数组定义在一块连续的内存空间,所以我们在预编译阶段就必须计算出需要使用的内存的大小,这样才能够在内存中找到一块能够连续的空间存放数组数据,如果需要的内存超过了计算机能够存放的剩余内存就会出现 栈(stack)溢出。
    2. 数组的存储限制
    数组是存储在stack栈中,stack的大小是有限制的,10M ,并且我们不需要手动去释放内存,计算机会自动帮我们释放,如果需要定义更大的数组我们就需要动态申请,动态申请的数字存放在堆内存中,并且我们需要手动释放内存。

    相关文章

      网友评论

          本文标题:ndk01.1_C简单语法,数组的定义

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