2021.1.17——指针和结构体的初步认识

指针的初步认识数组

int main()
{
        int a = 0;
        int* p= &a;
        printf("%d",*p);
        return 0;
}

初步接触指针,感受并无以前据说的那么恐怖,可能只是我刚刚接触皮毛而已,之后接触到深层次的东西才会感受到,加倍努力吧。
首先咱们要知道上述代码中表达的都是什么意思,int a =0很明显是将“0”赋值给整型变量a的过程;咱们要明白p是一个指针变量,是专门用来存放地址的一种变量。
p就是找到p所指地址的内容
p变量来存放a的地址(&a)
告诉咱们p是一个指针变量,int告诉咱们p所指地址的内容是一个整型类型
指针变量的地址长度不是根据所指向内容的类型而决定的,而是编译环境决定的,32位为4字节,64位环境为8字节;ide

结构体的初步认识
咱们都知道代码是用来构建现实世界一种途径,可是现实世界中的实体并非一个单一属性的,每个实体都是一个复杂对象。举个例子,当咱们要描述一我的的时候,要有名字,身高,年龄,身份证号的信息,而这个时候就不能单纯的使用数组或者定义来实现,就要使用到结构体来创造一个类型出来。
使用方法:函数

struct Book //创造一个结构体类型
{
   char name[20];
   short price;
}

这样就简单的构造出来了一个Book类型,而在函数中使用时还要定义变量才能使用,struct Book book1 = {"C语言初步认识",55};
这样咱们就说明了一本命为“C语言初步认识”且价格为55元的书定义出来了。
那么若是咱们只是单纯的想知道书名应该怎么操做呢?
第一个方法
这个时候就要用到咱们的操做符“.”,它能够访问咱们的book1的成员,访问name成员:book.name;访问price成员:book.price;
第二个方法
为book1建立指针,而后使用操做符“->”完成,使用方法:结构体指针变量->成员名。注意:建立book1的指针类型为struct Book*指针

如何修改结构体
修改结构体成员中的整型变量时能够直接赋值覆盖前面的值便可,
int book1.price = 36;就能够了
而修改结构体成员中的字符串类型时,就要使用到函数strcpy(),它要引入头文件string.h才能使用。
使用方法:strcpy(book1.name,"C++");code

好了,2021年1月17日日就学了这么一点知识,但我以为足够我这样的小白理解的了!对象

相关文章
相关标签/搜索