四、LInux——C、GCC、GDB、指针

【1】GCC

        1--- gcc 1.c
            ./a.out
        2--- gcc 1.c -o test
            ./test
        3--- gcc -E hello.c -o hello.i
             gcc -S hello.i -o hello.s
             gcc -c hello.s -o hello.o
             gcc    hello.o -o hello
             ./hello
        4--- gcc hello.c -Wall

【2】GDB

        gcc -g 1.c -o test
        gdb ./test

         l        //查看程序
         r        //运行
         b 行数    //添加断点
         r
         n        //单步运行
         p 变量名  //查看变量的值
         info b   //查看所有断点
         d 断点编码//删除断点
         q        //退出

【1】、指针

    1--- 指针变量:专用于存放地址的变量
    2--- 地址常量:内存地址

【2】、定义

    int a = 10;
    int *p = &a;
    //p指向a:p存储a的地址
    //变量名:p
    //类型:int *

【3】运算符

    1--- *
            1、类型的一部分
            2、指针解引用(钥匙-取值)
            3、指针降级
    2--- &
            取地址符
    3--- +-
            指针的加减:加减的是单位长度
            单位长度:指针所指向的数据类型所占的字节数
    4--- []
            []:指针加单位长度后,取内容运算
            int a[5];
            int *p = a;
            a[i] <==> *(a + i)
            p[i] <==> *(p + i)    //p是指针变量,a是地址常量

【4】指针的大小

    占4字节(32位操作系统)

【5】指针数组

    int * a[3];

【6】数组指针

    int a[3][4];
    int (*p)[4] = a;

【7】指针函数

    返回值是指针的函数

【8】函数指针

    int fun(int a,int b);
    int (*p)(int a,int b);
    本质:指针,指向一个函数的入口地址

【9】函数指针数组

    本质:数组
    元素:函数指针类型

【10】

10】
-------------
-------------
*************
*************
*************

  int fun(int 2)
  {
      if(2 > 0)                                                                                                    
      {
          puts("------------");
          i--;
          fun(i);       ==========》     int fun(int 1)
      }                                  {
                                             if(1 > 0)                      
      puts("************");                  {
      return 0;                                  puts("----------");
  }                                              i--;
                                                 fun(i);       
                                             }        
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值