2500字,手把手带你初步了解static关键字和指针,结构体(下)

简介: 笔记

register关键字介绍


register时寄存器关键字


register关键字只能作用于局部变量,不能作用于全局变量。

register关键字指明将局部变量存储于寄存器中。

register只是请求将这个变量存放到寄存器当中,但不一定能够请求成功

#define 定义常量和宏


用define定义标识符常量

1.png

用define定义宏

2.png

3.png

注意:宏参数是无类型的


指针


内存

内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。 所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。 为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地 址。

4.png

打印a的地址

5.png

#include<stdio.h>
int main()
{
 int a=10;     //定义变量a,开辟四个字节的空间
 int *c=&a;    //定义指针变量c,并将a的地址放入其中
printf("%d",*c);      // 打印c地址中所1存放的数值
printf("%p",c)        //打印c的地址
return 0;
}

&a含义:取出a的地址,&为取地址符号

6.png

用int *类型定义一个变量将a地址里所存放的数字,赋值给int *类型的变量c,


int * c=&a含义,int 说明c指向的对象是int类型,*说明p是指针变量,


不管是什么类型的指针,都是在创建指针变量 如 char *a就是一个指针变量


指针变量是用来存放地址的


指针变量的大小取决于一个地址存放的时候需要大多空间


指针变量的大小

7.png

指针变量的大小跟系统的操作位数有关。


注:*c是指int *类型的变量c所在的地址中存放的变量。c是指以int *为类型的指针变量所指向的地址。


结构体


结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。 比如描述学生,学生包含: 名字+年龄+性别+学号 这几项信息。 这里只能使用结构体来描述了。


定义结构体


8.png

这里电话用12个空间是因为,字符串里面\0也要占用一个空间


#include <stdio.h>
struct Stu
{
    char name[100]; //姓名
    int age;         //年龄
    char sex[10];    //性别
    char tele[12]; //电话
};

struct Stu为一个结构体类型,里面的为结构体变量

给结构体赋值

9.png


赋值方法:分别按照所定义的结构体内的变量类型,按顺序赋予相应的值


struct Stu a是定义一个变量a a是结构体类型struct Stu


引用结构体变量

10.png

直接引用:用结构体变量a再加一个. 然后选择所对应的结构体变量


以指针的方式引用:用结构体名->进行应用

相关文章
|
1月前
|
C语言
指向结构体数组的指针
指向结构体数组的指针
13 2
|
2月前
|
C++
【编码狂想】指针航行,链表魔法,解锁结构体和类的编程幻境
【编码狂想】指针航行,链表魔法,解锁结构体和类的编程幻境
58 1
|
4月前
|
存储 安全 编译器
【C++】内联函数、auto关键字、基于范围的for循环、指针空值nullptr
【C++】内联函数、auto关键字、基于范围的for循环、指针空值nullptr
37 0
C4.
|
1月前
|
存储 C语言
C语言的结构体指针
C语言的结构体指针
C4.
9 0
|
2月前
|
存储 C语言
指针&结构体题
指针&结构体题
28 2
|
3月前
|
编译器 C语言 C++
C++特性——auto关键字、范围for、指针空值nullptr
C++特性——auto关键字、范围for、指针空值nullptr
|
3月前
|
存储 C++ 容器
C/C++常见的易模糊知识点(结构体、指针、STL)
C/C++常见的易模糊知识点(结构体、指针、STL)
C/C++常见的易模糊知识点(结构体、指针、STL)
|
4月前
|
编译器 C++
C++ 中 const 和 constexpr 关键字解析:常量、函数和指针
很多 C++ 的初学者看到 const 这个关键字的第一反应都是一头雾水,主要是因为 const可 以出现在很多的位置,以及后面加入的 constexpr 更是常常感到困惑,今天就为大家一一解释出现它们的含义和以及作用
102 0
|
4月前
指向结构体类型数据的指针
指向结构体类型数据的指针。
29 3
|
4月前
this的含义,什么情况下使用this,改变this指针的两种办法。 === 由于this关键字很混乱,如何解决这个问题
this的含义,什么情况下使用this,改变this指针的两种办法。 === 由于this关键字很混乱,如何解决这个问题
18 0