重学C语言-基础学习总结4(9 - 10)

进阶,第9课 指针
  1. 概要:本周主要学习C语言指针,字符串的相关内容
  2. 细节:
    1. 指针赋值,*p=指针,意思是,p为内存地址,*p理解上代表着指针(内存)地址对应的数据
    2. 指针p++,那么标识*p指向的数值就会移动到下一个指针地址上,这样也可以用在字符串等数组的遍历上
    3. int main();是有参数的,可以写成int main(int argc, char const *argv[]); argc表示argv的数组长度,argv中包含程序本身,也就是说,程序本身是argv的第0个元素
进阶,第10课 数据类型
  1. 概要:结构,自定义的数据类型,可以包含各种数据类型,甚至其他结构数据类型,可分为:枚举enum,结构struct,联合union,三种数据类型
  2. 细节:
    1. 枚举类型,可以取代const变量,简化定义,比如:enum color {red, green, yellow},这里,red表示0,green表示1,yellow表示2。就直接可以拿去对应用。也可以赋值定义,比如enum {red =2, green=5, yellow};,那么这里red就表示2,green表示5,yellow就是6了;
    2. struct结构数据类型,基本定义是struct S1{int a; char b;};这样就定义了一个struct类型,应用时,直接使用struct S1 s; s.a = 1; s.b='b';
    3. 我们可以使用typedef来重命名类型,比如:typedef struct S1{int a; int b;} S;;那么使用时,只需要最后一个命名词就可以代表整个数据结构了,比如S tests={1,2};就表示结构体struct S1 tests的赋值了;
    4. union联合数据类型,定义的单位共享内存。所以典型使用场景就是,利用元素共享特性,可以定义成union u1{int a; char s[4]};,赋值a,然后可以通过循环数组s[],找到a在内存中的每一位具体存放成什么(16进制)。实验可知,X86系统中,低位提前,所以读取的数据位置,是反过来的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a敏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值