指针的初步认识
- 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 字节;
结构体的初步认识
我们都知道代码是用来构建现实世界一种途径, 但是现实世界中的实体并不是一个单一属性的, 每一个实体都是一个复杂对象. 举个例子, 当我们要描述一个人的时候, 要有名字, 身高, 年龄, 身份证号的信息, 而这个时候就不能单纯的使用数组或者定义来实现, 就要使用到结构体来创造一个类型出来.
使用方法:
- 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++");
好了, 2021 年 1 月 17 日日就学了这么一点知识, 但我觉得足够我这样的小白理解的了!
来源: http://www.bubuko.com/infodetail-3716889.html