定义 一个变量 意味着告诉编译器变量存在哪里以及占了多少储存空间。
变量指定一种数据类型,可以包含一个或多个该类型的变量。
type variable_list;
ex.
int i, j, k;
char c, ch;
float f, salary;
double d;
变量可以在声明(declaration)时初始化
type variable_name = value;
ex.
extern int d = 3, f = 5; // declaration of d and f.
int d = 3, f = 5; // definition and initializing d and f.
byte z = 22; // definition and initializes z.
char x = 'x'; // the variable x has the value 'x'.
对於没有初始化的定义,具有静态储存持续时间(static storage duration)的变量为 NULL
,而其他变量的初始值则为未定义(undefined)
。
变量声明:向编译器保证存在有一个具有一定类型及名称的变量,以便编译器进一步编译,而无需提供该变量的完整讯息。
变量声明 只有在编译时才有意义,编译器在程序链接时才需要实际的声明。
在使用多个文件时而只在其中一个文件定义变数时,变量声明很有用。可以在任何地方使用extern
声明变量。
虽然可以声明一个变量多次,但它只会被定义一次。
#import <Foundation/Foundation.h>
// 声明变量
extern int a, b;
extern int c;
extern float f;
int main () {
// 定义变量
int a, b;
int c;
float f;
// 初始化
a = 10;
b = 20;
c = a + b;
NSLog(@"value of c : %d \n", c);
f = 70.0/3.0;
NSLog(@"value of f : %f \n", f);
return 0;
}
相同的概念可以用在 function 声明,在声明时提供名称,实际定义可以在任何地方拿到。
// 声明function
int func(void);
int main() {
// function call
int i = func();
}
// 定义function
int func() {
return 0;
}
常量是指为固定值,在执行过程中不会改变。这固定的值也被称为文字(literals)。
常量可以是任何基本的类型,ex. integer
, floating
, character
, string literal
,enumeration
。
整数文字可以是十进,八进或十六进位的常量。
前缀指定基本或基数:0x或0X为十六进位,八进位为0。
整数文字也可以有”一个“後缀,即U和L的组合。後缀可以是大写或小写,并且可以在任何顺序。
212 /* Legal */
215u /* Legal */
0xFeeL /* Legal */
078 /* Illegal: 八进位没有8 */
032UU /* Illegal: 不能重复後缀 */
以下为其他类型的整数文字例子:
85 /* decimal(十进位) */
0213 /* octal(八进位) */
0x4b /* hexadecimal(十六进位) */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
字符在单引号中,ex. 'X'
,可以储存在简单的 char 类型。
字符可以是:
'x'
)'\t'
):有特殊意义'\u02C0'
)转义序列:
转义序列 (前面都要再加个斜线) | 意思 |
---|---|
\ | 文字 |
' | '文字 |
" | "文字 |
? | ?文字 |
a | 警告or钟 |
b | Backspace |
f | 换页 |
n | 换行 |
r | return |
t | 水平tab |
v | 垂直tab |
ooo | ㄧ到三位数的八进位 |
xhh | 一到多位的十六进位数 |
文字在双引号中,字串可以包含字符、转义序列、通用字符。
在 C 有两种简单的方法:
#define
预处理.const
关键字.使用#define预处理
定义一个常数
#define identifier value
ex.
#import <Foundation/Foundation.h>
#define HEIGHT 30
#define WIDTH 5
int main() {
int area;
area = HEIGHT * WIDTH;
NSLog(@"面积: %d",area);
return 0;
}
2021-09-09 01:26:38.271407+0800 TestOC[65072:1959114] 面积: 150
const修饰符
可以保护变量不被修改。
可以使用const
来声明常量的前缀与特定类型如下:
const type variable = value;
ex.
#import <Foundation/Foundation.h>
int main() {
const int HEIGHT = 30;
const int WIDTH = 5;
int area;
area = HEIGHT * WIDTH;
NSLog(@"面积: %d",area);
return 0;
}
2021-09-09 01:30:34.893086+0800 TestOC[65168:1964891] 面积: 150
今天介绍一下单选的列表 透过简单的程序码就可以做出一个清晰易懂的选择表单 那就马上附上我的程序码~ ...
经历了30天的铁人赛後,再次将我之前所学的再次地复习了一遍, 也藉此更了解到我之前到底都学了什麽,可...
当我们的程序可能会有其他语言使用者时,就得开始考虑国际化的问题了,专业术语叫i18n: i n t ...
今天大概会聊到的范围 State Gesture Modifier 在之前,都只是在介绍比较静态的...
身为吃货,对国家的喜好 一定程度一定是透过吃来评分的 义大利是我继日本之後,超级爱的一个国家 回访...