C语言 结构体 指针的用法 程序解释

C语言 结构体 指针的用法 程序解释,第1张

typedef struct

{

uint8 cmd_head;

uint8 cmd_type;

uint8 ctrl_msg;

uint16 screen_id;

uint16 control_id;

uint8 param[256];//可变长度参数,最多256个字节

}CTRL_MSG,PCTRL_MSG;

相当于

struct __CTRL_MSG {

uint8 cmd_head;

uint8 cmd_type;

uint8 ctrl_msg;

uint16 screen_id;

uint16 control_id;

uint8 param[256];//可变长度参数,最多256个字节

};

typedef struct __CTRL_MSG CTRL_MSG;

typedef struct __CTRL_MSG PCTRL_MSG;

对于这个问题,在声明过程中void s(int p1,int p2)只是表明有两个指向整形数据的指针p1,p2的类型是int型与pointer_1pointer_2相同。

在使用过程中,因为声明的是指向整形数据的指针,所以要用地址,不加

这和声明;int pointer_1,pointer_2;而用pointer_1pointer_2相同

#include <stdioh>

main( )

{

int a=10,b=100,c=1000; //调试:a(0x0012ff7c) b(0x0012ff78)

c(0x0012ff74) 整型在C++中占4位

可以看出a,b,c内存单元是连续的

int p=&c; //这里p指向c的内存单元

for(int i=0;i<10;i++)

printf("%d,",p++);//内存当中abc的存储顺序为c,b,c,

printf("\n");

}

由于你将p指向了c,所以显示时将从c内存单元里的内容开始,依次向后移动4位,而a,b,c在内存中是相邻的,所以显示结果为c,b,a,由于0x0012ff80地址以后的内存单元没有用到,里面是随机数,所以以后显示的数字将不确定

没时间给你写,思想讲下,定义数组,用于保存输入的。 最重要的处理部分,可以对数组排序,这样最大的是最后一个,最小的是第一个,再和原来数组实施交换。交换会吧···定义暂存变量temp··· 指针啦,看你会不会用,不会用会麻烦易错,会用方便点。也是c的特色啦。 java就没有,但java不也很牛嘛··

分都不给啊,不过上班上的有点累了,给你写一个吧,当做是放松,代码已测试通过,欢迎指教。

#include<stdioh>

#include<stringh>

void desc_chengji(int p)

{

int q, tmp;

for(;p != 0xFFFF; p++)

{

q = p;

for(q++; q != 0xFFFF; q++)

{

if(p < q)

{ tmp = p;

p = q;

q = tmp;

}

}

}

return;

}

void my_print(int p)

{

int i;

for(i = 0; i < 10; i++)

printf("第[%d]位同学的成绩为:%d\n",i+1,p++);

}

int main(int argc, char argv[])

{

int stu[11], p;

int i = 10;

stu[10] = 0xFFFF;//添加结束标志!!

p = stu;

printf("请输入10个学生的成绩,每个成绩以回车键确认输入。\n");

while(i--)

{

scanf("%d",p);

p++;

}

printf("所输入的学生成绩如下:\n");

my_print(stu);

printf("学生成绩降序排列后如下:\n");

desc_chengji(stu);

my_print(stu);

return 0;

}

不错,但是void fun(int a,int n,int odd,int even)中形参a是指针所以可以自加即a++

它对应main 中函数调用 fun(a,n,&odd,&even);此时a是数组。这个不能自加即a++

如果给子函数中的a++相当于main()中的函数中的数组移动一个int单位。即指针从a[0]移到下一个就指向a[1]

以上就是关于C语言 结构体 指针的用法 程序解释全部的内容,包括:C语言 结构体 指针的用法 程序解释、懂C语言的给我解释下这个指针程序、C语言,关于指针 (point) 的程序。拜托了。谢谢。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9520612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存