结构体\结构体指针

简介: 结构体\结构体指针

可以通过修改被我注释掉的部分自行测试功能

#include<stdio.h>
#include<stdlib.h>
 
//函数声明
struct pot* getstruct(struct pot*);
void output(struct pot);
void print(const struct pot*p);
 
//定义结构体
typedef struct pot
{
  int x;
  int y;
}pot;
 
int main()
{
  //初始化
  pot one={0,0};
 
  //getstruct(&one);  //输入one的值x,y
  //output(one);
 
  //output(*getstruct(&one));//输出输入值的函数
  //print(getstruct(&one));   //同上
 
  getstruct(&one)->x=0; //在函数里得到赋值并输出,出函数后x归零
  output(one);    //再次输出修改过后的one
 
    /*getstruct(&one) = (struct pot){12,23};这样写是不行的
  output(one);
  system("pause");
  return 0;
}
//函数定义
struct pot* getstruct(struct pot*p)
{
  printf("getstruct input:");
  scanf("%d,%d",&p->x,&p->y);
  printf("%d,%d\n",p->x,p->y);
  return p;
}
void output(struct pot p)
{
  printf("%d,%d\n",p.x,p.y);
}
void print(const struct pot*p)
{
  printf("%d,%d\n",p->x,p->y);
}


目录
相关文章
|
12天前
|
算法 Java 程序员
面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性
【6月更文挑战第15天】面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性。封装可使用结构体封装数据和方法,如模拟矩形对象。继承则通过结构体嵌套实现静态继承。多态可通过函数指针模拟,但C不支持虚函数表,实现复杂。C语言能体现OOP思想,但不如C++、Java等语言原生支持。
29 7
|
7天前
【洛谷 P1563】[NOIP2016 提高组] 玩具谜题(模拟+结构体数组+指针)
**摘要:** NOIP2016提高组的玩具谜题是一个编程挑战,涉及理解玩具小人在圆圈中的相对位置。题目要求解决一系列基于小人朝向(内或外)的左右数指令,来找到最终目标小人。输入包含小人数量、指令数、每个小人的朝向和职业,以及指令详情。输出是最后到达的小人的职业。给定的AC代码使用指针模拟环状数组,通过按位异或判断朝向来移动指针。样例展示了问题的解决过程。子任务有不同的数据规模和限制条件。
12 0
|
29天前
|
存储 安全 编译器
使用unsafe库操作结构体的属性偏移和指针转换
【5月更文挑战第19天】Go语言是类型安全的,但通过`unsafe`包,可以进行结构体属性偏移量计算和指针转换。`unsafe.Offsetof`获取结构体字段的偏移量,`unsafe.Pointer`允许不同类型指针间的转换。然而,这可能导致类型安全屏障被绕过,若使用不当,会引发安全问题或panic。应谨慎使用`unsafe`,因为它不遵循GO 1兼容性准则。
27 0
使用unsafe库操作结构体的属性偏移和指针转换
|
1月前
|
存储 C语言 C++
结构体指针
结构体指针
25 1
|
1月前
|
存储
结构体和结构体指针的区别
结构体和结构体指针的区别
|
28天前
|
存储 C语言 索引
指向结构体数组的指针
指向结构体数组的指针
21 0
|
28天前
|
存储 C++
指向结构体变量的指针
指向结构体变量的指针
15 0
|
28天前
|
C++
结构体变量与结构体变量指针作为函数参数
结构体变量与结构体变量指针作为函数参数
12 0
|
1月前
|
C语言 Perl
指针与结构体
指针与结构体
|
1天前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)