iOS——结构体指针
来源:互联网 发布:cf领枪软件下载 编辑:程序博客网 时间:2024/05/12 18:37
小总结: 什么类型的指针,就是这个指针指向什么类型的变量
结构体指针: 就是指向结构体变量的指针
结构体的首地址,就是结构体第一个成员变量的首地址
stu *p = NULL;
stu s1 = {“lizongrui”,18,’m’};
p = &s1;
printf(“%p\n”,p);
printf( “%p\n”,&s1 );
printf( “%p\n”,&s1.name); // 打印的结果相同,都是首地址
printf(“%s\n”,s1.name); // lizongrui
// *p1 等价于 s1
int *p1 = NULL
int a= 20;
p1 = &a; // 此时,*p1等价于 a
printf(“%d\n”,(*p).age);
// 指向操作符 ->
// -> 前面只能是结构体指针变量,而且必须是指向结构体变量首地址的结构体变量
printf( %d\n”,p->name);
//练习: 1.定义一个老师结构体
//2.创建结构体变量
//3.创建结构体指针指向结构体变量
//4.判断如果老师名字的首字符不是大写,改为大写,并且将其年龄+10岁;如果首字符是大写,年龄-10;
/* Teacher teacher1 = {“Xiangge”,30,”avmovie”};
Teacher *t = &teacher1;
if (t->name[0] >= ‘a’ && t->name[0] <=’z’ ) {
// t->name 是name的首字符地址,而这里是需要进行字符的判断,需要标明第几个字符。
t->name[0] -= 32;
t->age += 10;
}
else{
t->age -= 10;}printf("%s %d %s\n",t->name,t->age,t->hobby);
以下两个常量可以用来做整型的取最大值和最小值:
- INT_MAX // 整型中可以出现的最大值
- INT_MIN // 整型中可以出现的最小值
结构体数组和指针:
Student stu[5] = {
{1,"guanXi",'m',19,90}, {3,"tingfeng",'m',20,91}, {2,"bozhi",'w',18,99}, {5,"lizongrui",'y',30,59}, {4,"zhaosi",'y',40,100}};
数组名就是指针,指向数组的首地址,也是数组首个元素的地址
*stu 等价于 stu[0]
*(stu+1) 等价于 stu[1]
··· ···
访问数组中的元素的姓名成员变量
(*stu).name = stu[0].name
( (*stu+1) ).name = stu[1].name
··· ···
使用指针操作符 -> 来访问数组中元素
stu-> name = stu[0].name
( stu+1)->name = stu[1].name
( stu+2 )->name = stu [2].name
··· ···
printf( (stu+3)->name,”ajiao”);
printf(“%s\n”,(stu+3)->name);
// 定义一个指向结构体数组
Student *p1 = stu;
printf(“%s\n”,p1[0].name);
printf(“%s\n”,p1->name);
printf(“%s\n”,(*p1).name); // 输出结果相同
指针数组 数组中的元素都是指针(地址)
int a = 3,b = 4,c = 5,d = 6;
int p1 = &a;// &a 的类型就是 int
int array[4] = {&a,&b,&c,&d}; // 由于数组中每个元素的类型都是int ,所以数组的类型也应是int *
printf(“数组所占内存大小:%lu\n”,sizeof(array));
//访问数组中的元素
// 方式一
printf(“%p\n”,array[0]); //由于数组中的元素地址,所以使用%p.
printf(“%p\n”,&a);
printf(“%p\n”,array[1]);
// 方式二
printf(“%p\n”,*array);
printf(“%p\n”,*(array+1));
// 访问指针数组中元素指向内存空间里存储的值printf("%d\t",*array[0]);printf("%d\t",*array[2]);printf("%d\t",*array[3]);printf("%d\n",*array[1]);printf("%d\t",*(*array)); // *array 取出的是地址 **array 才是取出地址所指向的值printf("%d\t",**(array+1));
- iOS——结构体指针
- 黑马程序员——ios开发基础之C语言数组、指针与结构体
- iOS入门(十一)结构体指针
- 漫步IOS--结构体指针、结构体数组指针,结构体Char数组声明
- iOS——结构体
- C语言——结构体与指针引用&结构体数组与指针引用
- C语言——函数指针&联合体&别名&结构体&结构体指针
- 结构体指针内存——指针数组——字符串指针内存申请
- C语言基础———指针,结构体指针,函数指针
- iOS——指针
- IOS开发---C语言-⑰指向结构体的指针
- 学历iOS开发纪录(结构体和数组指针)
- iOS C语言9_结构体指针
- 函数指针,结构体指针
- 内存泄露——结构体成员指针未初始化
- C——结构体中的函数指针
- C——结构体中的函数指针
- 结构体、结构体指针
- OpenCV笔记(十二)
- UML9种图总结
- floyd最短路径算法C#版
- 局部边缘保持滤波(LEP)高动态范围图像HDR压缩 matlab程序(二)
- jQuery获取select、checkbox、radio的方法总结
- iOS——结构体指针
- Ruby调用Win32API——EnumDisplaySettings的调用
- Android才是游戏开发者的乐土
- 基于HTML5的Web SCADA工控移动应用
- 杭电2122 HDU Today (最短路 dijkstra 过)
- ios 防止按钮快速点击造成多次响应的避免方法。
- poi导出excel,以字符串格式输出数字
- 20151228 ocp 053 1-30
- 京东商品详情页应对“双11”大流量的技术实践