指针,结构体

指针(在c语言中就是内存单元格的地址)

每个内存单元格的大小为1字节

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

内存:计算机中的程序运行都是在内存中进行

————————————————————————————————————

取地址运算符(&)和取值运算符(*)

如果需要获取某个变量的地址,可以使用取地址运算符(&)

char *pa=&a;

如果需要访问指针变量指向的数据。,可以使用取值运算符(*)

printf("%c,%d\n" ,*pa,*pb);

————————————————————————————————————

指针里存放的是地址,地址都是4个字节

                                系统:

                                32位——2^32种可能——8位为一个字节 

                                sizeof(pa)=4

———————————————————————————————————————————

避免访问未初始化的指针(野指针)

                int main()

                {

                        int *a;        ——>未给a指针初始化!

                        *a=123;

                        return 0;

                }

———————————————————————————————————————————

指针和数组

bit(比特)

byte(字节)                

kb

mb

gb

(1byte=8bit,其余都为1024进制)

—————————————————————————————————————————

指针的类型

        int a=0x11223344;        //44 33 22 11

        int* pa = &a;        // int -->4个字节

        *pa = 0;        //00 00 00 00

        char*pa;

        *pa=0;        // 00 33 22 11

        指针类型决定了:指针应用的权限有多大。比如整型为4个字节,则整型指针变量可改变4个字节的内存。

指针对应的类型,

指针

总结:

1、指针变量的作用:存放别人的地址。——>指针就是地址

2、指针变量是有类型的,类型是跟着别人的类型来定义的

3、指针除了存放别人的地址,还可以通过解引用符来找到变量本身,并对其操作

4、指针的大小取决于地址的存储需要多大空间


int main()
{
    int a = 10;
    int* pa = &a;//在c语言中,用来存放地址的变量,叫做指针变量
    //“*”说明pa是指针变量

    //int说明pa指向的对象类型为int类型
    char ch = 'w';
    char* pc = &ch;
    printf("%p\n", &a);
    printf("%p\n",pa);

    

    printf("%d\n", sizeof(char*));
    printf("%d\n", sizeof(int*));
    printf("%d\n", sizeof(double*));
    printf("%d\n", sizeof(float*));
    printf("%d\n", sizeof(long*));

    //a=20;
    //*pa=20;//*解引用操作符,作用:通过指针变量找到原来的值


    return 0;
}

———————————————————————————————————————————

野指针(指向的位置是不可知的情况(随机,不正确的))

1、指针未初始化

2、

 

结构体(1、使c语言有能力描述复杂的类型 2、可以让c语言创建新的类型)

结构:是一些值的集合,这些值称为成员变量。

集合:数组(同类型)

结构体:每个成员的类型都可以不一样

定义的标准格式: 

访问的两种的形式:

1、当我们直接使用结构体变量名进行访问的时候

“a.age”,“a.sc”

2、当使用变量地址 / 指针进行访问的时候

 struct stu * pa=&a;

(*pa).age,pa->age;

结构体传参


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值