c语言 简单认识 指针和结构体

编程入门 行业动态 更新时间:2024-10-27 20:31:32

c语言 简单认识 <a href=https://www.elefans.com/category/jswz/34/1768268.html style=指针和结构体"/>

c语言 简单认识 指针和结构体

指针

代码

#include <stdio.h>int main(){int a = 10;//指针类型需要与变量的类型相同,且后面需要添加一个*符号(注意这里不是乘法运算)表示是对于类型的指针int * p = &a;   //这里的&并不是进行按位与运算,而是取地址操作,也就是拿到变量a的地址printf("a在内存中的地址为:%p\n", p);  //地址使用%p表示printf("a的值为:%d\n",*p);    //*是指将p地址的值取出来// 通过指针修改值*p = 777;printf("*p修改后的值为:%d\n", *p);printf("a的值为:%d\n", a);       //a的值也被修改为777,以为是同一个地址//数组指针char str[] = "Hello World!";printf("数组表示法:%c\n", str[1]);     //数组表示法,输出数组第二个字符char * pp = str;printf("第一个元素值为:%c,第二个元素值为:%c", *pp, *(pp+1));   //指针表示法,通过指针也可以表示对应位置上的值}

运行效果

结构体

代码

#include <stdio.h>//定义结构体
struct Student {   //使用 (struct关键字 + 结构体类型名称) 来声明结构体类型,这种类型是我们自己创建的(同样也可以作为函数的参数、返回值之类的)int id;    //结构体中可以包含多个不同类型的数据,这些数据共同组成了整个结构体类型(当然结构体内部也能包含结构体类型的变量)int age;char *name;   //用户名可以用指针指向一个字符串,也可以用char数组来存,如果是指针的话,那么数据不会存在结构体中,只会存放字符串的地址,但是如果是数组的话,数据会存放在结构体中
};//函数
void test(struct Student * student){   //这里使用指针,那么现在就可以指向外部的结构体了student->age = 19;   //别忘了指针怎么访问结构体内部数据的
}int main() {//定义结构体,stu是结构体变量struct Student stu = {.id=1,.age=18,.name="小明"};printf("%d,%d,%s\n", stu.id,stu.age,stu.name);//结构体指针,赋值传递struct Student student = {1, 20, "小红"};struct Student * p = &student;   //同样的,类型后面加上*就是一个结构体类型的指针了printf("%d\n",(*p).age);//输出方式,两者是一样的printf("%s\n", (*p).name);  //由于.运算符优先级更高,所以需要先使用*p得到地址上的值,然后再去访问对应数据printf("%s\n", p->name);   //使用 -> 运算符来快速将指针所指结构体的对应数据取出//结构体函数struct Student s = {1, 77, "小新"};test(&s);   //传递结构体的地址过去printf("%d\n", s.age);
}

运行效果

更多推荐

c语言 简单认识 指针和结构体

本文发布于:2023-11-16 09:44:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1616839.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:指针   语言   结构   简单

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!