当前位置:  编程技术>c/c++/嵌入式

基于结构体与指针的详解

    来源: 互联网  发布时间:2014-10-14

    本文导语:  结构指针变量:结构指针变量的说明和使用一个指针变量用来指向一个结构变量时结构指针变量中的值是所指向的结构变量的首地址。通过结构指针即可访问该结构变量,这与数组元素的指针和函数指针的情况是相同的。结构...

结构指针变量:结构指针变量的说明和使用一个指针变量用来指向一个结构变量时
结构指针变量中的值是所指向的结构变量的首地址。通过结构指针即可访问该结构变量,这与数组元素的指针和函数指针的情况是相同的。
结构指针变量说明的一般形式为:
struct 结构名 * 结构指针变量名
例如: struct stu *pstu; 
其访问的一般形式为:
(*结构指针变量).成员名 : (*pstu).num
或为:
结构指针变量->成员名  :pstu->num
应该注意(*pstu)两侧的括号不可少, 因为成员符“.”的优先级高于“*”。如去掉括号写作*pstu.num则等效于*(pstu.num),这样,意义就完全不对了。 
结构变量.成员名
(*结构指针变量).成员名
结构指针变量->成员名
这三种用于表示结构成员的形式是完全等效的。
结构数组指针变量:结构指针变量可以指向一个结构数组, 这时结构指针变量的值是整个结构数组的首地址。 结构指针变量也可指向结构数组的一个元素,这时结构指针变量的值是该结构数组元素的首地址。
设ps为指向结构数组的指针变量,则ps也指向该结构数组的0号元素,ps+1指向1号元素,ps+i则指向i号元素。 这与普通数组的情况是一致的。
代码如下:

#include
int main(void)
{
    int i;
    struct student
    {
        long int num;
        int      age;
        char*    name;
    }st[3]={{198,19,"zhangsan"}, {199,18,"lisi"},{200,19,"wangwu"}};  
    struct student*   p;
    p=st;
    printf("/n/n    NO.    age    name   /n");
    for(  ;pnum,p->age,p->name);
    getch();
    printf("/n/n    NO.    age    name   /n");
    for( p=st ;p

    
 
 

您可能感兴趣的文章:

  • 全局结构体变量和全局结构体指针变量
  • 结构指针类型强制转换
  • 协议的设计一般采用结构体进行数据打包,在协议设计的结构体中能不能使用指针 ?
  • 关于一些结构中的指针的使用疑惑
  • 菜鸟请教--关于指向结构体指针的赋值
  • 想建立一个指向结构体的指针数组,但编译不过,望高手指点!
  • C++中指向结构体变量的指针
  • (在线等) 问个哈希桶的数据结构中那个二级指针的问题
  • 一个奇怪的问题(关于指向结构体的指针)
  • 深入分析C语言中结构体指针的定义与引用详解
  • 结构体中指针的疑问,急,一直迷惑
  • c语言中位字段与结构联合的组合使用详解
  • 深入c# 类和结构的区别总结详解
  • java Class文件内部结构解析过程详解
  • 数据结构之位图(bitmap)详解
  • 数据结构之堆详解
  • 解析结构体的定义及使用详解
  • 基于c# 类、接口、结构的联系与区别详解
  • 数据结构之Treap详解
  • 数据结构课程设计- 解析最少换车次数的问题详解
  • c#入门之枚举和结构体使用详解(控制台接收字符串以相反的方向输出)
  • 数据结构之AVL树详解
  • 数据结构课程设计-用栈实现表达式求值的方法详解
  • 数据结构之伸展树详解
  • 数据结构之红黑树详解
  • python实现bitmap数据结构详解
  • Android源码中的目录结构详解
  • 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
  • Python常见数据结构详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • <<大话数据结构>>中冒泡排序算法改进
  • 请问:在用proc方式往数据库插入数据时,我能不能定义一个结构体,它与表的每一项对应,将结构体赋好值后,再只将这个结构体插入表中,这行不行啊?
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 《arm体系结构结构与编程》书如何
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • file结构和inode结构
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例
  • 《莱昂氏UNIX源代码分析》中有一种结构体声明没有结构体名
  • mysql 命令大全及导入导出表结构或数据
  • 关于学籍管理系统B/S结构实现的结构问题
  • GCC 编译问题: 结构A中有个成员结构B??
  • 强人,linux下驱动相关数据结构和usb设备数据结构之间的功能分析
  • 谁能告诉我EJB的体系结构有哪些,这些体系结构的优缺点如何,万分感谢!
  • struct __una_u16结构是什么结构.
  • GNU汇编fill填充一个数据结构使得另一个数据结构全部清零
  • 高手帮帮忙!vi中如何实现跳转到任意结构体或函数的声明处,包括系统库中声明的函数和数据结构?
  • jbuilder7里如何在project pane里显示出某个project的所有的类的结构图,就如显示source java files的结构图一样
  • 关于客户服务器结构与浏览器服务器结构编程的比较
  • 有一个win32的结构体,大伙看看能否转换成linux下的基本等价的结构体?
  • 结构的用法?
  • c/c++ iis7站长之家




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3