2021-03-18

补习c语言基础笔记

#include<stdio.h>

#include 导入一个文件

stdio 一个标准输入输出库

.h 头文件

<> 导入系统文件

""导入自定义文件

system

执行cmd命令,可以打开外部的应用程序

printf("%d\n",value);

%表示一个占位符,表示输入一个整形数据

C语言编译步骤

预处理-编译-汇编-链接

定义常量方式:

const 数据类型 常量名=值

#define 常量名 值

宏定义

#define M (n*n+3*n)

#表示这是一条预处理命令,所有的预处理命令都以 # 开头。define是预处理命令。宏名是标识符的一种,命名规则和标识符相同。字符串可以是数字、表达式、if 语句、函数等。程序中反复使用的表达式就可以使用宏定义

#include<stdio.h>
#include<stdlib.h>
int main() {
  int a, b;
  scanf("%d,%d", &a, &b); //输入函数 特殊的符号 &(取地址符)
  printf("%d + %d = %d" , a, b, a + b); //输出函数
  system("pause");
  return 0;
}

字符串

以’/0’结束,用char数组代替

函数在主函数之后需要声明函数

指针

&:取地址运算符,升维度的

*:取值运算符,降维度的

32位系统下所有的指针类型存储的都是内存地址,所有的内存地址都是无符号16进制整形数(int),占用4个字节(64位系统则是8个字节)

通过二级指针 可以修改1级指针的值和对应内存空间的值

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int arr[] = {1, 2, 3, 4};
    //数组名是一个常量 不允许直接赋值
    //数组名是数组首元素地址
    //arr=100 ;err
    int *p;
    p = arr; //直接给指针变量赋地址
    // printf("%p\n", p);
    // printf("%p\n", arr);

    //*==[]?
    //printf("%d\n", *arr);
    printf("%d\n", *(arr) + 1);

    p++;
    printf("%p\n", arr);
    printf("%p\n", p);

    // for (int i = 0; i < 4; i++)
    // {
    //     printf("%d\n", arr[i]);
    //     //printf("%d\n", p[i]);
    // }
    system("pause");
    return 0;
}

函数参数为数组时,数组会退化成指针

数组作为函数参数会退化成指针 丢失数组的精度

指针操作数组时下标允许是负数

全局变量、局部变量、静态全局变量、静态局部变量区别

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值