分享

共同体union的举例 与main参数说明

 风雨电雷 2012-03-05

1.1函数中可以有多个return语句!

如果要限制一个变量只能被本源程序文件中的函数使用,则必须通过静态外部变量来实现!

1.2 C语言规定,main函数的参数只能有两个,习惯上这两个参数写成argcargv。因此main函数头可写成main(argc,argv);c语言还规定第一个参数必须是整型变量,而第二个参数必须是指向字符串的指针变量。格式如下:

main(int argc,char *argv[]);             argv的个元素值是说键入的各字符串。

1.3 main函数的参数值是从操作系统命令行是获得的,当要运行一个可执行文件时,在DOS文件中键入文件名,再输入实际参数,即可把这些实参传送到main的形参中。

DOS提示下命令行的一般形式:、

文件名 参数1  参数2 ……

应该特别注意main 函数的两个参数和命令行中的形参在位置上不是一一对应的,(文件名本身也算是一个参数)如  在命令行输入:

ex1  ab cd efg  则该行有4个参数,agrc就是 4

1预处理指令是指在程序运行时进行预处理的,这种命令大多影响程序的运行速度,所以不能在程序中过多的使用。

2结构体在内存中的存储方式不是连续的,c语言中规定,一个结构体中所有的成员占用一个内存空间!

3 #include<stdio.h>

union  p{int j; char c[2];}x;

void main(){

x.c[0]='A';

x.c[1]='a';

printf("%o\n",x.j);//为什么x.j的值是八进制值 60501 而不是八进制值 81 呢?}  

一个int占四个字节,union就占四个字节,char类型是1个字节;

Int

00000000

00000000

00000000

00000000

Char

00000000

 

 

 

win系统中,高字节在前,低字节在后。

数组c[]

01100001

01000001

高字节

低字节

 

变量j:

J

00000000

00000000

01100001

01000001

J的八进制为:

110

000

101

000

001

也就是60501

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多