码迷,mamicode.com
首页 > 其他好文 > 详细

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式

时间:2014-07-22 23:48:57      阅读:408      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   数据   io   2014   



1.打印二进制机器码(分别表示32位的和64位的)

#include <stdio.h>

 

/*按照8位的长度打印一个数值*/

void dis8bit(char val)

{

   int bit = 8;

   while(bit--)

    {

       if(1<<bit&val){

           printf("1");

       } else {

           printf("0");

       }

       if(!(bit%4))

           printf(" ");

    }

   putchar(10);

}

 

/*按照32位长度打印数值的机器码*/

void dis32bit(int val){

   int bit = 32;

   while(bit--){

       if(1<<bit&val){

           printf("1");

       } else {

           printf("0");

       }

       if(!(bit % 4))

           printf(" ");

    }

   putchar(10);

}

 

int main(void)

{

   int a = -1,b = -128,c = 127,d = 0;

   dis8bit(a);

   dis8bit(b);

   dis8bit(c);

   dis8bit(d);

 

   int e = 127;

dis32bit(e);

 

   return 0;

}

2.关于程序内存。

bubuko.com,布布扣

Bss区的生命周期是从程序的开始到程序的结束。

 

3.关于数据在内存中的存储

bubuko.com,布布扣

int a;全局变量,并且未初始化,所在在数据段的bss区。被初始化为0

static int b; 静态全局变量,数据段的bss段,在bss区。

int c[10] = {1,2,3,4};  全局的数组在data段,这里的数据在运行的时候会被拷贝来的。

 

4.大端存储和小端存储引起的问题

bubuko.com,布布扣

在内存中的分析如下:

 bubuko.com,布布扣

5.数据类型   *    指针变量

指针变量,本质同普通变量。

* 指明后面的变量为指针变量

数据类型指明,从该变量存放的地址处的寻址能力。

char *p;  代表了从p这个地址处的寻址能力是1个字节,(因为char *类型的寻址能力为1个字节)。

指针的一个重要概念   步长 =  数据类型的大小

bubuko.com,布布扣

int a[10]等价于==int[10]  a;

 

6.关于typedef关键字

typedef int ARRAY[10];   给数组定义别名

给参数起别名的步骤:

bubuko.com,布布扣

再如:

void (*p)(int,int);的别名为:typedefvoid (*pp)(int,int);这个时候pp就是指针函数的别名。

 

7.数组:

数组访问的方式有:

A:下标法,特例列举:

bubuko.com,布布扣

这里说明,如果想得到一个数组的值也可以通过i[a]è下标[数组名]的方式得到

B:偏移法的方式取数值,举例:

bubuko.com,布布扣

C:指针法

bubuko.com,布布扣 

*p++ ==*p++

 

8.数组局部初始化

 bubuko.com,布布扣

9.#if-0-#endif排除某段代码影响

 bubuko.com,布布扣

10.数组求大小

bubuko.com,布布扣

求作为函数参数传递的数组名的大小:

bubuko.com,布布扣

11.括号表达式

bubuko.com,布布扣

分析:int xx[3][2] = {(1,2),(3,4),(5,6)};实际上等价于:intxx[3][2]={2,4,6};

内存分析:

bubuko.com,布布扣

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式,布布扣,bubuko.com

1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式

标签:style   blog   http   数据   io   2014   

原文地址:http://blog.csdn.net/tototuzuoquan/article/details/38051943

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!