microblaze之C语言基础知识复习

在microblaze的软件编程中主要以C语言为主,而C语言主要以指针为主,因此有必要剔除重要的点做几番认识。

1,const修饰符的作用,它就是让一个变量具有常量的属性,如果有指针的时候,那么有两个摆放位置,例如:

char const * p;意思是p is a pointer to const char,指针p所指向的变量不允许通过指针*p间接去修改,但是变量a本身显然可以被修改的,另外指针p不仅可以指向变量a,也可以指向变量b。

char * const p;意思是p is a const pointer to char,指针p是一个常量指针,他一旦被赋值就不允许指向其他地方,但是所指向的变量内容可以任意修改,就是可以被重新赋值。

2,指针作为函数的参数进行传递,首先定义几个结构体,并进行变量初始化,然后将node3的地址作为参数传递给函数fun3,然后传递到fun2。可以知道指针只是一个地址,不管指针变量的结构体多么复杂,这个指针变量在32位地址系统中永远只占4个字节,在64位地址系统中占8个字节,而里面所定义的其他成员变量由它所指向的结构体决定。另外所有的函数被调用时,均会产生临时变量或临时指针变量。

3,指针既可以指向变量,也可以指向函数,那么函数指针怎么定义和调用的呢,我个人倾向于第二种方式便于理解。

3,函数指针既可以作为函数的参数,也可以作为函数的返回类型,为了便于理解和阅读,把函数指针换一种方法定义。

4,如果不使用typedef定义,改成下面这种形式,虽然可以达到同样的功能,但是阅读起来简直是灾难。

总结:指针的这些内容暂时可以解决大部分的应用,知是行之始,行是知之成。今天未必全部理解,还需要在实践中加以深化。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值