- 博客(4)
- 收藏
- 关注
原创 x86平台,函数调用时参数传递是使用堆栈来实现的
#include<stdio.h>struct person{ char *name; int age; int score; int id;};int fun(const char *format,...){ char *p; int i; struct person per; p=(char *) ...
2018-09-20 16:33:40 2088
原创 具有相同类型的指针类型变量p与数组a,不能进行的操作是:
A:p=a; B:*p=a[0]; C:p=&a[0]; D:p=&a; D不正确,因为&a,是指向数组的指针了, 链接:https://www.nowcoder.com/questionTerminal/772c1e2c77ef408d8b25e706bc2ab434?toCommentId=75662 来源:牛客网 ...
2018-09-20 11:33:35 10976
原创 linux定义变量内存地址分配顺序以及局部变量入栈顺序与变量输出关系
首先分配基本变量,按字节大小,字节大先入栈,相同的字节,在linux下面是先定义后入栈,都是从栈底(高地址)到栈顶(低地址)排。一定要注意字节对齐:一般为4字节。win下面就是先定义先入栈。2).入栈顺序:A:函数参数的入栈顺序:自右向左原因:函数参数的入栈顺序和具体编译器的实现有关。有些参数是从左向右入栈,如:Pascal语言从左到右入栈(不支持变参),被调用者清栈;有些...
2018-09-19 21:32:17 1507
原创 结构体的大小及结构体之位域
结构体的大小:规则1:结构体的大小等于结构体内最大类型的整数倍规则2:结构体内的成员的首地址相当于结构体首地址的偏移量是其类型大小的整数倍规则3:为了满足规则1和2在结构体成员之后进行字节填充 结构体位域的大小规则:共用体:为了提速之类的,在结构体和联合体的内存块中,是按照一定的规则安排的联合体:联合体的内存不会为了所有成员安排,而是只取最大的成员的所需内存...
2018-09-02 17:07:57 1984
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人