【学习笔记】【C语言】结构体和函数

 1 #include <stdio.h>
 2 struct Student
 3 {
 4     int age;
 5     int no;
 6 };
 7
 8 // 如果结构体作为函数参数,只是将实参结构体所有成员的值对应地赋值给了形参结构体的所有成员
 9 // 修改函数内部结构体的成员不会影响外面的实参结构体
10 void test(struct Student s)
11 {
12     s.age = 30;
13     s.no = 2;
14 }
15
16 // 会影响外面的实参结构体
17 void test2(struct Student *p)
18 {
19     p->age = 15;
20     p->no = 2;
21
22 }
23
24 void test3(struct Student *p)
25 {
26     struct Student stu2 = {15, 2};
27     p = &stu2;
28     p->age = 16;
29     p->no = 3;
30 }
31
32 int main()
33 {
34     struct Student stu = {28, 1};
35
36     //test(stu);
37     //test2(&stu);
38     test3(&stu);
39
40     printf("age=%d, no=%d\n", stu.age, stu.no);
41
42     return 0;
43 }
时间: 2024-10-16 01:06:48

【学习笔记】【C语言】结构体和函数的相关文章

学习C/C++语言:结构体,动态链表

//*************************************************************** //结构体:简单的静态链表 #include<stdio.h> #include<string.h> #define NULL 0 #define SIZE 10 struct student { char num[SIZE]; float score; struct student *next; }; void main() { struct stu

C语言学习笔记:22_结构体

/* * 22.结构体.c * * Created on: 2015年7月9日 * Author: zhong */ #include <stdio.h> #include <stdlib.h> /** * 结构体:对共性数据的封装 * 结构体有点使用面向对象的思想,对一类东西的共性进行封闭,以便使用. * * 定义结构体: * //1>定义结构体,也可以定义在函数中(全局与局部的结构体) struct Person{ char *name;// 字符串 int age; d

C语言结构体及函数传递数组参数示例

注:makeSphere()函数返回Sphere结构体,main函数中,调用makeSphere()函数,传递的第一个参数为数组,传递的数组作为指针. 版权声明:本文为博主原创文章,未经博主允许不得转载.

C语言结构体及函数传递数组參数演示样例

注:makeSphere()函数返回Sphere结构体,main函数中.调用makeSphere()函数,传递的第一个參数为数组,传递的数组作为指针.

C语言 结构体作为函数的参数

1)使用结构体变量作为函数的参数 使用结构体变量作为函数的实参时,采用的是值传递,会将结构体变量所占内存单元的内容全部顺序传递给形参,形参必须是同类型的结构体变量 demo: 1 # include <stdio.h> 2 # include <stdlib.h> 3 4 //创建一个Student结构 5 struct Student 6 { 7 char name[30]; 8 float fScore[3]; 9 }student={"dire",98.5

APUE学习笔记——4.2结构体 struct stat 及其相关函数介绍

以下不少内容来自man手册 结构体struct stat 结构体struct stat用于保存文件相关的所有信息. struct stat的基本成员如下所示 struct stat { dev_t st_dev; // 文件所在设备的设备id,可以分解为主设备号和此设备号 ino_t st_ino; // inode号 mode_t st_mode; // 文件的类型.存取权限等 nlink_t st_nlink; // 文件硬连接数 uid_t st_uid; // 文件拥有者的用户id gi

c语言——结构体做函数参数

做ICMP攻击想把IP作为用户输入,突然发现自己连传递结构体参数都不会,这才先从小的程序试验一下,弄清楚以后才能接着进行. first,传递结构体变量: #include <stdio.h> struct para{ char *a; int b; }; void print(struct para f){ printf("a=%s\nb=%d\n",f.a,f.b); } void main(){ struct para p; p.a="abc"; p

[java学习笔记]java语言基础概述之函数的定义和使用&amp;函数传值问题

1.函数 1.什么是函数? 定义在类中的具有特定功能的一段独立小程序. 函数也叫做方法 2.函数的格式 修饰符   返回值类型    函数名(参数类型  形式参数1, 参数类型  形式参数2-) {           执行语句(函数体);           return 返回值;       } 返回值类型:函数运行完成后输出的数据类型. 参数类型:是形式参数的数据类型. 形式参数:是一个变量,用于储存调用函数时传递给函数的实际参数. 实际参数:传递给形参的实际数据. return:结束函数

黑马程序员学习笔记--------C语言变量类型,结构体,枚举

本章学习的知识是定义结构体,枚举等自定义的数据类型,已经宏命令,变量类型等细小的知识点,在开始本章的新知识学习之前首先我们要明白的是C语言有丰富的数据类型和运算符,因此计算能力非常强大,计算过程中使用的值一般用变量来存储.变量也是有分类型的,不同类型的变量有不同的存储类型.不同的生命周期.不同的作用域,C语言也提供了一些关键字来设置变量的属性(比如设置存储类型.生命周期). 一.变量类型 变量分为全局变量和局部变量. 首先说明一下局部变量的特点 1> 定义:在函数内部定义的变量,称为局部变量.形