#include<stdio.h> #include<string.h> struct Student { char name[32]; int age; int height; int weight; }; int main() { struct Student Stus[3]={ {"hhh",12,45,45}, {"ttt",16,24,45}, {"kkk",18,23,45}, }; printf("…
#include<stdio.h> #include<string.h> struct Student { char name[32]; int age; int height; int weight; }; int main() { struct Student stu1={"hhh",12,45,45}; struct Student * stu1P=&stu1; //通过指针访问结构体 printf("name=%s\n",st…
Go语言入门系列前面的文章: Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 1. 指针 如果你使用过C或C++,那你肯定对指针这个概念不陌生. 我们需要先介绍两个概念:内存和地址. 1.1. 内存和地址 我们写的代码都存储在外存(C盘.D盘)中,比如我存在了D:\Work\Program\go目录下.如果你想要运行你的代码,必须先把你的代码加载进内存中,然后交给CPU执行计算,而CPU计算的结果也会存到内存中. 内存的存取速度快,…
#include<stdio.h> #include<iostream> #include<malloc.h> /* author : 吴永聪 program: 结构体指针.结构体变量嵌套.结构体指针嵌套.函数指针.数组指针.指针数组.typedef 综合运用 date : 2017.6.3 sum up : 结构体嵌套指针(函数指针.结构体指针.数组指针等)的时候需要为这个嵌套的指针指向一个合适的地址,该地址应为嵌套的指针地址 关键的一句话 注意区分两个p3的不同点…
C语言基础练习——最大值及其位置(二维数组) 时间限制: 1 Sec  内存限制: 10 MB 题目描述 有一个n×m的矩阵,要求编程序求出: 每行元素的最大值,以及其所在的行号和列号.求出所有元素的最大值,以及其所在的行号和列号. 输入 先输入n,m (2<=n<=100,2<=m<=100) 在输入矩阵中各元素的值.(假设为整型数) 输出 先输出每行元素的最大值的下标及其值,每个占一行: 再输出所有元素的最大值的下标及其值. 样例输入 Copy 3 4 1 2 3 4 10 1…
//指向结构的指针 struct结构名称 *结构指针变量名 //(*结构指针变量名).成员变量名//结构指针变量->成员变量名 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 5 6 struct Martial //门派 7 { 8 int id; //门派 id 9 char name[50]; //门派m名称 10 int count; //门派人数 11 char type[5…
区别 结构体变量 结构体变量作为形参,传递的是结构体变量本身,是一种值传递 形参结构体变量成员值的改变不影响对应的实参构体变量成员值的改变 结构体指针 结构体指针作为函数参数,传递的是指向结构体变量的本身 结构体指针指向的变量成员值的改变影响对应的实参构体变量成员值的改变 代码 直接说有些抽象难懂,…
二级指针:可以理解为指向指针的指针,存放的是指针变量的地址. 下面用一级指针来保存一个指针变量的地址: #include<stdio.h> int main() { int *p1; int *p2; int data; p1=&data; p2=&p1; printf("p1保存的地址=%p\n",&data); printf("data=%d\n",*p1); printf("p2的地址=%p\n",&am…
定义一个数组指针,指向二维数组: int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int (*p)[4];//定义二维指针数组 p=a;//指向二维数组,数组指针等同于二维数组名 #include<stdio.h> int main() { int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int (*p)[4];//定义二维指针数组 p=a;//指向二维数组 for(int i=0;i<3;i…
在C语言中,数组名代表数组中首元素的地址,所以,下面两句获取数组的首地址是等价的: #include<stdio.h> int main() { int a[5]={1,2,3,4,5}; int *p=&a[0]; int *p2=a; printf("地址p=%p\n",p); printf("地址p2=%p",p2); return 0; } 输出结果: 地址p=000000000061FDF0地址p2=000000000061FDF0 根…