OC-局部变量和全局变量、结构体、预处理指令以及关键字的基本使用

本文介绍了iOS开发中的基本概念,包括局部变量和全局变量的使用区别,如作用域和生命周期。局部变量在代码块内定义,作用域从定义到结束,而全局变量在整个文件中可被共享。接着,文章讲解了结构体的创建,预处理指令如`#ifdef`和`#ifndef`的作用,以及`typedef`关键字在定义新类型名,包括变量、指针、结构体和函数方面的应用。
摘要由CSDN通过智能技术生成

一、局部变量和全局变量
1.局部变量:在还是内部定义的变量
*作用域:从定义变量开始,到代码块结束
*生命周期:定义开始到代码块结束,就会被回收
*函数的形参也是局部变量
*无固定初值
2.全局变量:函数外面定义的变量
*作用域:定义开始到文件结尾(能被后面所有函数共享)
*生命周期:程序一开始就分配内存,到程序退出才销毁
*默认的初值为0

#include<stdio.h>
int age;
void test(){
int age;
age=10;
}
int main(){
printf("%d\n",age);//0int age=20;
printf("%d\n",age);//20
test();//直接调用函数
printf("%d\n",age);//20
return 0;
}

二、结构体

1、构造类型:数组、结构体

#include<stdio.h>
int main(){
//1>.定义结构体类型,例
struct Person{//结构体里面的3个变量称为结构体的成员或者属性
int age;//年龄
double height;//身高
char *name;//姓名
};
struct Person p={ 20,1055,"jack"};
p.age=30;
p.name="rose";
printf("age=%d,name=%s,height=%f\n",p.age,p.name,p.height);
/*错误写法
struct Person p1;
p1={30,1.69,"jack"};
*/
struct Person p2={.age=30,.height=1.69,.name="jack"};
return 0;
}

#include<stdio.h>
int main(){
void test(){//补齐算法(对齐算法),结构体所占内存空间必须是最大成
员字节数的倍数,所以本结构体占16个字节的内存空间
struct Student{
int age;//4个字节
char name;//8个字节
};
}
void test1(){
//1.定义结构体类型
struct Date{
int year;
int mouth;
int day;
};
//2.定义结构体变量(真正分配内存空间)
struct Date d1={ 2011,10,3};
struct Date d1={ 2012,5,12};
d2=d1;//会将d1所有成员的值对应的赋值给d2的所有成员的值
d2.year=2010;
printf("%d-%d-%d\n"d1.year,d1.mouth,d1.day);
printf("%d-%d-%d\n"d2.year,d2.mouth,d2.day);
}
return 0;
}
2、定义变量的三种方式
#include<stdio.h>
int main(){
//第三种方式
struct {
int age;
double height;
char *name;
}stu;
//第二种方式:定义类型的同时,定义了变量
struct Student{
int age;
double height;
char *name;
}stu;
/*
//第一种方式
struct Student{
int age;
double height;
char *name;
};//变量
struct Student stu={30,1.69,"jack"};
*/
return 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值