数据结构二

  1. 求 sizeof(name1)?(晟安信息)

struct name1{

char str;

short x;

int num;

};

sizeof name1内存对齐 8个字节 char分配8个字节 然后 short节省空间在4个字节中

而这个int独自分配分配内存 4个字节所以共8个字节

  1. (电工时代)

typedef struct _a

{

char c1;

long i;

char c2;

double f;

}a;

在64位得计ge算机下 共32个字节long 是占8个字节 但是32位得情况下24个字节 long 占4个字节但是所以可以分配在 char得内存地址中 ,所以占8个字节 而char占8个字节 而 double占8个字节24个字节

typedef struct _b

{

char c1;

char c2;

long i;

double f;

}b;

sizeof(a) = ___32/24;

sizeof(b) = 24_____;

  1. 给了一个结构体,求 sizeof(struct A) = 16____。 (鲁科安全,软通动力)

struct A{

char a;

char b;

char c;

short d;

int e;

short f;

}

  1. 有一个如下的结构体,请问在64位编译器下用 sizeof(struct A) 计算出的大小是多少?( A) (鲁科安全)

struct A{

long a1;

short a2;

int a3;

int *a4;

}

A. 24 B. 28 C. 16 D. 18

对于结构体来说

  1. 有以下说明语句,则下列错误的引用 是( B )。(山大华天)

struct stu

{

int no;

char name[21];

};

stu w, *p = &w;

A. w.no B*p.no C. p->no D. (*p).no

对于B来说是语法错误 如果真的要w得数据应该括号解引用

  1. 写出下述程序结果: (中维世纪)

typedef struct test

{

char x1;

short x2;

float x3;

char x4;

}TEST_T;

printf("%d", sizeof(TEST_T));

12 char被分配4个内存 short被分配到 x1 而float分配4个字节而x4则分配4个字节

则是12个字节

  1. 下面的代码输出是什么,为什么?(64位环境) (信雅达)

struct {

char *a1;

long a2;

short a3;

}A;

int main(void)

{

printf("%d", sizeof(A));

}

对于这一块代码 24个字节 在64位得存储下 分别为8字节存储

  1. 设有如下结构定义: struct student { int num; char name[20]; char sex; int age; char addr[30];} stud; 若用printf("%s\n", .....)访问该结构中name值的正确方法是 (D ) (杭州快越科技)

A. stud -> name B. &stud.name

C. stud.&name D. stud.name

存储得时数组正确得表达方式就是存储方式就是带 . stud.name来表达字符串得类型

  1. struct

{

short a; char b; float c;

}cs;

则sizeof(cs)的值是(D ) (苏州特点电子科技)

A.4 B.5 C.7 D.8

  1. 如下函数的输出结果是:【 】

struct node

{

char a; short b; char c; int d;

};

struct node s = { 3, 5, 6, 99 };

struct node *pt = &s;

printf("%X\n", *(int*)pt);

对于 结构体存储来看 是这样存储得

a 0x03

0x00

0x05

0x00

c 0x0006

d0x00 00 00 63

在计算机是这样存储得但计算机时小段存储所以在存储书记时低地址存在高位 而低地址存在低位 所以 存储方式应该是 0x 00050003

  1. 编程题:定义学生结构体,存储学生的学号、姓名、分数,定义长度为5的结构体数组,实现:

①输入学生信息

②输出学生信息

③计算学生的成绩总分、平均分

④按照学生的分数进行排序

⑤输出排序后的数组

相关推荐
朝朝又沐沐2 小时前
算法竞赛阶段二-数据结构(36)数据结构双向链表模拟实现
开发语言·数据结构·c++·算法·链表
薰衣草23332 小时前
一天两道力扣(6)
算法·leetcode
剪一朵云爱着2 小时前
力扣946. 验证栈序列
算法·
遇见尚硅谷3 小时前
C语言:*p++与p++有何区别
c语言·开发语言·笔记·学习·算法
天天开心(∩_∩)3 小时前
代码随想录算法训练营第三十二天
算法
YouQian7723 小时前
(AC)缓存系统
算法·缓存
艾莉丝努力练剑3 小时前
【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
c语言·开发语言·数据结构·学习·算法·链表·排序算法
科大饭桶3 小时前
数据结构自学Day13 -- 快速排序--“前后指针法”
数据结构·算法·leetcode·排序算法·c
李永奉4 小时前
C语言-流程控制语句:for循环语句、while和do…while循环语句;
c语言·开发语言·c++·算法
程序员-King.4 小时前
day69—动态规划—爬楼梯(LeetCode-70)
算法·动态规划