• (2)C语言 基础2


    一、函数

    二、指针

    1.指针是一个用来存储内存地址的变量。

    int * p ;

    定义了一个指针变量p,p中存储的是一个地址,改地址里必定会存储一个int类型的数据。

    *号表示变量p是一个指针。*和指针变量p中间的空格可以没有。

    2.把变量a的地址存到指针变量p中。

    p=&a;

    打印p变量存储的内容,也就是变量a的所在地址

    #include <stdio.h>
    
    int main()
    {
        int a = 5;
        int p = &a;
        printf("%p
    ", p); //打印指针变量p里存的内容
        printf("%p
    ", &a);//打印变量a的地址
        printf("%x
    ", p);//小写16进制
        printf("%#X
    ", p);//以0X开头的大写16进制
        return 0;
    }

     打印地址

     每个16进制对应4位,本图对应24位地址。

     3.指针通信

    #include <stdio.h>
    void change(int * i, int * j);
    
    int main()
    {
        int x = 5;
        int y = 6;
        change(&x, &y);//
        printf("x=%d,y=%d",x,y);
    
    }
    void change(int * i,int * j)//定义两个指针变量
    {
        int temp;
        temp = *i;
        *i = *j;
        *j = temp;
    }

    三、数组

     1.初始化数组

    如果超出数量范围,编译器会提示错误

    2.获得总个数

        printf("%d
    ", sizeof(a)/sizeof(a[0]));//用总的字节数除以单个的字节数,得到初始化开辟的数量。
        printf("%d
    ", sizeof(b)/sizeof(b[0]));//无论有没有填满数组

     3.没有的位置补零.

        for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
        {
            printf("%d
    ", a[i]);
        }

     4.初始化器    C99新特性

    #include <stdio.h>
    
    int main()
    {
        int a[8] = { 1,2,[4] = 8,9,[1]=3 };//初始化器,指定位置赋值,未初始化为0
        for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
        {
            printf("%d
    ", a[i]);
        }
        return 0;
    }

     结果

     

     5.赋值

    不能把一个数组赋值给另一个数组,

    除初始化外,不能使用花括号,

    注意数组下表越界问题,

  • 相关阅读:
    20191330雷清逸 学习笔记4
    sort
    20191330雷清逸 MyOD(选作,计入平时成绩)
    20191330雷清逸 Linux C语言编程基础(必做)
    20191330雷清逸 学习笔记3
    20191330雷清逸 学习笔记2
    无限的技能
    20191330 雷清逸 学习笔记1
    2021-2022-1-diocs-Linux系统编程第四周学习笔记
    Linux下man命令的使用
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/10046606.html
Copyright © 2020-2023  润新知