C语言 没有变量名的变量声明和使用
2011-12-02 18:23
309 查看
//没有变量名的变量 //作者:nuaazdh //时间:2011年12月2日 #include<stdio.h> typedef struct st1{//结构体1 char a; //成员a char b; //成员b }st1; typedef struct st2{//结构体2 st1; //注意这里没有声明变量名 int s; }st2,*st2p; void main() { st2 s2;//结构体2 的变量 st2p p;//结构体2 的指针 char *tmp;//char *指针 printf("sizeof(st1)=%d\n",sizeof(st1));//输出2 printf("sizeof(st2)=%d\n",sizeof(st2));//输出8,说明st2中含有st1的空间 s2.a='C';//可以对st2中的成员a赋值 s2.b='S'; p=(st2p)malloc(sizeof(st2));//为p申请空间 p->a='D';//通过指针给st2的成员a赋值 p->b='N'; tmp=(char *)p;//通过char *型指针访问结构体2空间 printf("%c\n",*tmp);//输出 D printf("%c\n",s2.a);//输出 C printf("%c\n",s2.b);//输出 S printf("%c\n",p->a);//输出 D printf("%c\n",p->b);//输出 N } /* 本例可以看出,在st2中声明 st1后,st1的成员便原封不动地拷贝到了 st2中,这样省去了通过 "st2变量名.st1变量名.st1成员名"来对st2中 st1变量名成员的访问的麻烦。可见 C语言 代码是多么自由啊。 */
运行结果:
相关文章推荐
- *C语言有关指针的变量声明中的几个易错点
- C语言跨文件使用变量(文件间值传递)
- 解决多重定义问题/如何声明全局变量让多个cpp文件使用
- C语言中的复杂声明和定义,以及如何使用typedef进行简化
- C语言中变量声明和定义
- iOS声明变量在@interface括号中与使用@property的区别
- C语言 struct结构体的变量声明加冒号
- NSMutableArray 如果只进行了声明,而没有进行初始化,那么程序不会报错,但是,声明的那个变量不起任何作用
- PHP入门-变量声明与使用
- C语言 全局变量定义与声明
- python3 - 声明全局变量并在不同模块中的使用.
- 使用Polyhedron_3<Kernel> 声明和定义变量
- SQL Server中变量的声明和使用方法 (2011-04-27 16:08:25
- 没有使用全局变量的必要时,就尽量不要使用全局变量。
- genexus 变量的声明和使用[初学者关注]
- 如何将c语言的变量传递给shell脚本使用
- RFS的web自动化验收测试--变量的声明、赋值及其使用
- SQL Server中变量的声明和使用方法
- 【转】static和extern的区别;当使用另外一个文件中的变量、类、方法时,什么时候改用extern声明,什么时候该include?
- JavaScript中变量的声明以及如何使用