C语言之struct A *b和struct A c区别
来源:互联网 发布:千月软件序列号 编辑:程序博客网 时间:2024/06/05 20:14
struct A *b; 是指针
struct A c; 是定义了一个struct A对象,你得提供相应的结构体的具体定义
结构体A没有具体的定义,当struct A c时,实际是定义一个结构体变量,这是要分配存储空间的,空间大小依结构体中具体的变量而定,如果没有具体的结构体定义,编译器不知道结构体到底是什么样的,就无法知道结构体到底占据所少存储空间,所以编译不能通过.
struct A *p只是定义一个指针,跟具体结构体的关系不是很大,因为在32位平台上,不管什么指针,其大小永远都是4个字节,指针其实就是4个字节的无符号整数,用来标记内存地址
举例:
#include<stdio.h>struct A {int data;};int main(){struct A *b;struct A c;b = &c;c.data = 10;printf("%d\n", b->data);return 0;}
结果:
为10
注意是%d,不是d%,以后注意了
.
0 0
- C语言之struct A *b和struct A c区别
- 【c++】sizeof(a struct)
- c语言之struct
- C语言中struct和typedef struct的区别
- C语言struct和typedef struct的区别
- C语言中的struct和typedef struct
- C语言中 typedef struct 和 struct
- 实例讲解c语言结构体大小 sizeof(struct A)
- c语言之结构(struct)
- C语言--struct和union
- c Union 和 struct 区别
- C++:Struct 和 Union区别
- typedef struct与struct的区别(C语言中的)
- C语言中typedef struct与struct的区别
- C语言和C++中结构体struct区别
- C语言中struct和union的区别是什么
- c语言结构体 和 typedef struct与struct的区别
- struct和typedef struct,在C和C++中的区别
- JS获取当前时间戳
- PreparedStatement的原理
- 向linux内核版本号添加字符/为何有时会自动添加"+"号或者"xxx-dirty"
- JAVA高级用法 —— 反射(一)
- groovy笔记
- C语言之struct A *b和struct A c区别
- Android-BroadcastReceiver类
- 迁移虚拟机vm到可用节点
- Linux Vmware 虚拟机 网络设置 Samba服务器
- leetcode_463. Island Perimeter 计算岛的周长
- MAC系统中显示与隐藏
- UITextField只有当有字符输入后,键盘右下角的搜索/返回/done/等等键才可
- Hibernate的LockMode(悲观锁和乐观锁)
- 已放弃(核心已转储)