变量类型

最近在看传智播客的视频,感觉学起语言来事半功倍啊,咱们国人真厉害啊,中国迟早在很多方面都会超越美国,除了环境,不知道有生之年能否看到?

废话少说,今天学了c语言的变量类型,首先关于静态变量,它与java的静态变量是不同的,java的静态变量是属于类的,其次,静态全局变量和静态局部变量也不同,虽然它们的生命周期一样,但局部变量是在函数调用时才创建,直到程序结束,而全局变量都是静态变量,且在程序运行之前创建。然后,静态变量和自动变量(动态变量)的区别是自动变量属于堆栈,而静态变量放在静态内存中。

register修饰的是寄存器变量,只能修饰自动变量,只限于int, char和pointer变量使用;register的发音很多老师都发错了,重音在前面;

extern / intern 外部函数 和 内部函数,c语言规定,不允许有同名的外部函数;auto/extern

c语言里外部函数只要声明就能用,把声明可以放到头文件里,而php里是一定要include的;

static 即是静态,又是内部函数(静态函数),不能在其它文件中访问,不然链接报错,和java中public static void f1()也有区别;

在java中,全局变量的定义没有严格的位置规定;c语言不同,得定义在前面;

在c语言中,extern int a 是声明一个变量,而int a 是定义一个变量;

extern时(外部变量),多个文件中有相同的变量名,代表的是同一个变量;

static在其它文件中修饰全局变量会使之变成一个内部变量;

结构体

使用频率不亚于指针;不像面向对象的语言,结构体使没有方法的;

struct 结构体名{}; 机构体是类型,而不是变量,所以不分配内存;怎么计算一个结构体变量所占空间;

当函数的形参是指针事,传的实际上是地址,所以在c语言中,给字符串(数组)指定的形参是指针;


数组和结构体都要在定义的同时初始化;而不能单独统一初始化,只能一个元素一个元素地初始化;


结构体数组:数组的元素是结构体;

你传入数组,我改变数组成员;你传入对象,我改变对象成员;你传入函数,我改变函数成员;你传入结构体,我改变结构体成员;

怎么结构体传的是值,只是把结构体全部成员实参的值全盘复制给形参?只是成员之间的值传递?


指向结构体的指针

struct Person *p;

p = &person;

P->对着指针做->运算;







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值