付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天使与
的化身─指针星期一星期一星期一•可以认为:地址和指针是同义词,变量的指针就是变量的地址星期一211房间100066星期一1000.
.
.
.
.
..
.
.
.
.
.66.
.
.
.
.
.1000星期一数组字符串变量函数常量指针星期一类型*
标识符i
n
t
*
p
i
, *
pc;星期一i
n
t
i
=
0
;i
n
t
*
p
i
= &
i
;char
c =
'
a
'
;char
*pc=
&c;星期一#
include
<stdio.
h>/*
演示指针的定义*/int
main(
){int
i=
0
;char
c=
'a'
;i
n
t
*
p
i
;char
*
pc;pi =
&
i
;pc =
&c;p
r
i
n
t
f
("变量\t
内容\t\t
地址\n");p
r
i
n
t
f
(
"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\
n"
);p
r
i
n
t
f
(
"i
\
t
%
d
\
t
\
t
%
p
\
n"
,i,
&
i
)
;p
r
i
n
t
f
(
"c
\
t
%
c
\
t
\
t
%
p
\
n"
,
c
,p
r
i
n
t
f
(
"
p
i
\
t
%
p
\
t
%
p
\
n"
,
p
i
,printf
(
"
pc
\
t%
p
\
t%
p\
n"
,
pc,&
c);&
p
i
)
;&
pc);p
r
i
n
t
f
(
"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\
n"
);printf("
pi=%
d\
tpc=%
c\
n",
*
p
i
,
*
pc
)
;r
e
t
u
r
n
0
;}p
o
i
n
t
e
r
1
.
c星期一i
n
t
*p
=
NULL;星期一星期一星期一星期一星期一星期一#
include
<stdio.
h>/*
演示指针的定义*/i
n
t
main(
){i
n
t
*
p
=
NULL;i
n
t
i
=
0
;i
n
ta
[
5
]
=
{
0
,
0
,
0
,
0
,
0
};p
=
&
i
;*p
=
1
;p
r
i
n
t
f
(
"i =
%d\n",
i
);p
=
a
;*p
=
2
;p
r
i
n
t
f
(
"
a
[
0
]=
%d\n",
a
[
0
]);p
=
&
a[
0
];*p
=
3
;p
r
i
n
t
f
(
"
a
[
0
]=
%d\n",
a
[
0
]);p
=
&
a[
4
];*p
=
4
;p
r
i
n
t
f
(
"
a
[
4
]=
%d\n",
a
[
4
]);r
e
t
u
r
n
0
;}p
o
i
n
t
e
r
2
.
c星期一#
include
<stdio.
h>/*
演示指针的赋值*/i
n
t
main(
){i
n
t
a
=
66
;i
n
t
*p=NULL;i
n
t
*q=NULL;p
=
&a;q
=
p
;//
将变量
a
的地址赋给
p//
将
p
的值赋给
qprint
f
("%d
%d
%d\n",
a
, *
p, *
q
);r
e
t
u
r
n
0
;}p
o
i
n
t
e
r
3
.
cp
=
a
;q
=
66
;星期一星期一#
include
<stdio.
h>/*
演示指针加操作*/int
main(
){int
*
p
=
NULL;int
*
q
=
NULL;i++)int
a
[
10
]
;int
i =
0
;for
(i=
0
;
i<
10
;{a
[i] =
i;printf("
a[%
d]
=%
d\
n", i
,
a
[
i
]
)
;}p
r
i
n
t
f
(
"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\
n"
);p
=
&
a[
5
];q
=
p+3;p
r
i
n
t
f
(
"
*
p =
%d\t%p\n", *
p
,
p
)
;p
r
i
n
t
f
(
"
*
q =
%d\t%p\n", *
q
,
q
);r
e
t
u
r
n
0
;}add.
c星期一#
include
<stdio.
h>/*
演示指针加减操作*/i
n
t
main(
){a
[
10
]
;i
=
0
;i
n
t
*
p
=
NULL;
i
n
t
*
q
=
NULL;
i
n
ti
n
ti
n
td
i
f
f =
0
;f
o
r
(i=
0
;
i<
10
;
i++){a
[i] =
i;printf("
a[%
d]
=%
d\
n", i
,
a
[
i
]
)
;}p
r
i
n
t
f
(
"
-
--------------
\
n"
);p
=
&
a[
5
];q
=
p
-
3
;d
i
f
f =
p
-
q
;p
r
i
n
t
f
(
"
*
p =
%d\t%p\n",
*
p
,
p
);p
r
i
n
t
f
(
"
*
p =
%d\t%p\n",
*
q
,
q
);p
r
i
n
t
f
(
"
d
i
f
f =
%d\n",
d
i
f
f
)
;r
e
t
u
r
n
0
;}指针的加减运算是以其指向的类型的字长为单位的minus.
c星期一‣pi
==
NULL;
pi
!=
NULL星期一#
include
<stdio.
h>/*
求字符串长度*/i
n
t
main(
){char
s
t
r
[
255
]
;char
*p
=
NULL;s
t
r
)
;i
n
t
l
e
ng
t
h
=
0
;scanf("%
255
s",p
=
s
t
r
;!=
'
\
0'
)w
h
i
l
e
(*p{p++;}l
e
ng
th =
p
- s
t
r
;p
r
i
n
t
f
(
"
L
e
n
g
t
h =
%d", l
e
n
g
t
h
)
;r
e
t
u
r
n
0
;}s
t
r
l
e
n
.
c星期一星期一常量指针星期一#
include
<stdio.
h>/*
演示指针标识数组*/i
n
t
main(
){i
n
t
i=
0
;i
n
t
*p
=
NULL;i
n
t
a
[
5
]
=
{
0
,
1
,
2
,
3
,
4
};p
=
a
;f
o
r
(
i
=
0
;
i<
5
;
i++){p
r
i
n
t
f
(
"
a
[
%
d
]=
%d
%d
%d
%d\n",i,
a
[
i
]
,
p
[
i
]
,
*(
a
+
i
)
,*(
p
+
i
)
)
;}r
e
t
u
r
n
0
;}p
o
i
n
t
e
r
4
.
c星期一i
n
t
*
p;i
n
t
a
[
]
=
{
1
,
2
,
3
}
;p
=
a
;p++;i
n
t
*
p;i
n
t
a
[
]
=
{
1
,
2
,
3
}
;a
=
p
;a++;星期一#
include
<stdio.
h>/*
演示字符指针和字符串*/in
t
main(){charcharchar*sp =
"I
Love C
h
i
n
a
"
;*sv =
NULL;s
t
r
[
] =
"I am
a s
t
u
d
e
n
t
"
;sv =
s
p
;sp =
s
t
r
;s
p
)
;s
v
)
;p
r
i
n
t
f
(
"
%
s
\
n"
,p
r
i
n
t
f
(
"
%
s
\
n"
,r
e
t
u
r
n
0
;}c
h
a
r
_
p
o
i
n
t
e
r
.
c星期一chars
t
r
[
]="
ILoveC
h
i
n
a
"
;char*sp="
ILoveC
h
i
n
a
"
;ILoveChina\
0ILoveChina\
0星期一#
include
<stdio.
h>/*
演示字符指针和字符串*/in
t
main(){charchar*
sp;s
t
r
[
14
];sp
=
"C
Programming";s
t
r
=
"C
Programming";p
r
i
n
t
f
(
"
%
s
\
n"
,p
r
i
n
t
f
(
"
%
s
\
n"
,s
p
)
;s
t
r
)
;r
e
t
u
r
n
0
;}a
r
r
a
y
_
e
r
r
o
r
.
c星期一#
include
<stdio.
h>/*
演示字符指针和字符串*/in
t
main(){charchar*
sp;s
t
r
[
14
];sp
=
"C
Programming";s
t
r
=
"C
Programming";p
r
i
n
t
f
(
"
%
s
\
n"
,p
r
i
n
t
f
(
"
%
s
\
n"
,s
p
)
;s
t
r
)
;r
e
t
u
r
n
0
;}a
r
r
a
y
_
e
r
r
o
r
.
c星期一#
include
<stdio.
h>/*
实现字符串拷贝*/v
o
i
d
s
t
r
_
c
p
y
(
c
h
a
r
*
d
s
t
,
char
*
s
r
c
){!=
'
\
0'
)w
h
i
l
e
(
(*
ds
t
=
*
s
r
c
){dst++;src++;}}int
main(
){charchars
1
[
255
];s2[]="Copya
s
t
r
i
n
g
.
"
;s
t
r
_
c
p
y
(
s
1
,
s
2
)
;p
r
i
n
t
f
(
"
%
s
\
n"
,
s
1
)
;p
r
i
n
t
f
(
"
%
s
\
n"
,
s
2
)
;r
e
t
u
r
n
0
;}s
t
r
c
p
y
.
c星期一char
*
t
)#
include
<stdio.
h>/*
实现字符串比较*/int
str_cmp(
char
*
s
,{f
o
r
(
;
*s
==*t
;
s++,t++){if
(*s ==
'
\
0'
)r
e
t
u
r
n
0
;}r
e
t
u
r
n
*s
-
*
t
;}int
main(
){char
*s1 =
"
ABC";char
*s2 =
"
ABE";int
d
i
f
f=
str_cmp(
s
1
,s
2
)
;p
r
i
n
t
f
(
"
%
d
\
n"
,
d
i
f
f
)
;r
e
t
u
r
n
0
;}strcmp.
c星期一#
include
<stdio.
h>i
n
t
main(){char
s
t
r
1
[
20
]=
"I am
a t
e
a
c
h
e
r
"
;chars
t
r
2s
t
r
2
[
20
]
;=
s
t
r
1
;chars
t
r
3s
t
r
3
[
20
];=
"I am
a t
e
a
c
h
e
r
"
;char
s
t
r
4
[
20
];s
t
r
4
[
]
=
"I am
a t
e
a
c
h
e
r
"
;chars
t
r
5*
s
t
r
5
;=
"I am
a t
e
a
c
h
e
r
"
;char
s
t
r
6
[
20
]
;scanf("%
s", s
t
r
6
)
;char
*
s
t
r
7
;scanf("%
s", s
t
r
7
)
;chars
t
r
8*
s
t
r
8
;=
s
t
r
1
;scanf("%
s",s
t
r
8
)
;r
e
t
u
r
n
0
;}c
h
a
r
_
a
r
r
a
y
_
p
o
i
n
t
e
r
.
c星期一星期一类型
*标识符[
常数表达式]
;i
n
t
*
p
i
[
1
0
]
;.
.
.
.
..
.
.
.
..
.
.
.
..
.
.
.
..
.
.
.
.i
n
t
类型变量i
n
t
类型变量i
n
t
类型变量i
n
t
类型变量星期一char
sname[13][20]={"
"
,
"
J
a
n
u
a
r
y
"
,
"
F
e
b
r
u
a
r
y
"
,
"
March","
A
p
r
i
l
"
,
"
M
a
y
"
,
"
Jun
e"
,
"
J
u
l
y
"
,"
August"
,
"
September","
October"
,
"November",
"December"};char
*pname[13]={"
"
,
"
J
a
n
u
a
r
y
"
,
"
F
e
b
r
u
a
r
y
"
,
"
March","
A
p
r
i
l
"
,
"
M
a
y
"
,
"
Jun
e"
,
"
J
u
l
y
"
,"
August"
,
"
September"
,
"
October"
,
"November",
"December"};sname需要分配13×20=260个char
型内存单元星期一#
include
<stdio.
h>/*
演示字符指针数组*/in
t
main(){char
*name[]={""
,
"
J
a
n
u
a
r
y
"
,
"
F
e
b
r
u
a
r
y
"
,
"
March",
"
A
p
r
i
l
"
,"
May",
"
J
u
n
e
"
,
"
J
u
l
y
"
,
"
August","
September","
O
c
t
o
b
e
r
"
,
"November",
"December"}
;i<
13
;
i++)in
t
i
;f
o
r
(i=
1
;{na
m
e[
i
]
)
;p
r
i
n
t
f
(
"
%
s
\
n"
,}r
e
t
u
r
n
0
;}print_month.
c星期一星期一星期一#
include
<stdio.
h>/*
演示指向指针的指针*/i
n
t
main(){i
n
t
i=
99
;i
n
t
*
p
i =
&i;i
n
t**
ppi =
&
p
i
;p
r
i
n
t
f
(
"
%
p%p%p\
n",&
i
,
pi,p
p
i
)
;p
r
i
n
t
f
(
"
%
d%d%d
\
n",
i
,
*
p
i
,*
*
p
p
i
)
;r
e
t
u
r
n
0
;}p
2
p.
c星期一i
n
t
*
a[
10
];i
n
t
**pa
= &
a[
0
];星期一i
n
t m
a
i
n
(
i
n
ta
r
g
c
,char*
a
r
g
v
[
]
)
;星期一char
*
a
r
g
v
[
]
)#
include
<stdio.
h>/*
打印命令行参数*/i
n
t
m
a
i
n
(
i
n
t
a
r
g
c
,{i
n
t
i
;f
o
r
(i =
0
;
i <
a
r
g
c
;
i++){printf("
argv[%
d]
=%
s\
n",i
, a
r
g
v
[
i
]
)
;}r
e
t
u
r
n
0
;}p
2
p.
c星期一星期一#
include
<stdio.
h>/*
利用指针数组实现命令行参数*/char
*
a
r
g
v
[
]
)int
m
a
i
n
(
int
a
r
g
c
,{int
i;f
o
r
(
i
=
1
;
i<
a
r
g
c
;
i++){argv++;printf("%
s%
s",
*
argv,
(
i
<
a
r
g
c
-
1
)?
"
"
:
""
);}p
r
i
n
t
f
(
"
\
n"
);r
e
t
u
r
n
0
;}echo.
c星期一星期一#
include<stdio.
h>i
n
t
*
py)v
o
i
d
swap(
int
*
px,{i
n
ttemp;temp= *
px;*px =
*
py;*py =
temp;}i
n
t
main(){i
n
t
x=33;i
n
t
y=44;x, y
)
;swap(&x, &
y);printf("
x=%d\ty=%d",r
e
t
u
r
n
0
;}swap.
c星期一星期一i
n
t
*
f
o
o
(
){i
n
t
a
=100;r
e
t
u
r
n
&a;}星期一类型
(*
标识符)
(
参数列表)
;i
n
t
(
*
f
o
o
)
(
i
n
t
x
,
i
n
t
y
)
;星期一#
include
<stdio.
h>/*
演示简单的函数指针*/o
(
c
o
n
s
tchar*
s
t
r
)v
o
i
d
s
a
y
_{p
r
i
n
t
f
(
"o
%s\n",s
t
r
)
;}=
NULL;o
;i
n
t
main(
void){v
o
i
d
(
*
f
)
(
)f
= s
a
y
_f(
"
G
u
y
s
"
);r
e
t
u
r
n
0
;}f
u
n
_
p
o
i
n
t
e
r
.
c星期一星期一v
o
i
dq
s
o
r
t
(
v
o
i
d*
base,s
i
z
e
_
t
nelem,s
i
z
e
_
t w
i
d
t
h
,i
n
t
(*
fcmp)(
const v
o
i
d*,
constv
o
i
d*))
;星期一#
include<stdio.
h>/*
通用指针演示*/v
o
i
d
f
o
o
(
v
o
i
d
*
pv){//*
pv
= '
A
'char
*
pchari
s
i
l
l
e
g
a
l=
pv;*
pchar
=
'
A
'
;}i
n
t
main(
void){char
c
;f
o
o
(
&
c
)
;p
r
i
n
t
f
(
"
%
c
\
n"
, c
)
;r
e
t
u
r
n
0
;}v
o
i
d
_
p
o
i
n
t
e
r
.
c星期一星期一0x610x620x630x64星期一#
include
<stdio.
h>/*
演示类型强制转换*/i
n
t
main(){i
n
t
a[
3
] =
{
1
,
2
,
3
};i
n
t
i
;unsigned
char
*
p;p
=(unsigned
char
*)a
;//类型强转i<
s
i
z
e
o
f
(
a
);
i++)f
o
r
(
i
=
0
;{printf("%
p\
t%
d\
n",&
p
[
i
]
,p
[
i
]
)
;}r
e
t
u
r
n
0
;}p
o
i
n
t
e
r
_
t
r
a
n
s
f
e
r
.
c星期一#
include
#
include
#
include<stdio.
h><stdlib.
h><string.
h>/*
实现回调函数,并调用系统自带的q
s
o
r
t
函数*/i
n
t
cmp_int(
const
v
o
i
d
*
a
,
cons
t
v
o
i
d
*
b);i
n
t
cmp_str(
const
v
o
i
d
*
a
,
cons
t
v
o
i
d
*
b);i
n
t
main(){i
n
t
i=
0
;i
n
t
a[
10
]
=
{
2
,
5
,
3
,
1
,
8
,
7
,
9
,
6
,
4
,
0
};char
b[
5
][
5
]
=
{
"
C
c
"
,
"
B
b
"
,
"
A
a"
,
"
E
e"
,
"
D
d
"
};q
s
o
r
t
(
a
,
10
,
s
i
z
e
o
f
(
i
n
t
),
cmp_int);q
s
o
r
t
(
b
,
5
,
5
,
cmp_str);f
o
r
(
i
=
0
;
i<
10
;
i++){p
r
i
n
t
f
(
"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河南省新高考化学全程复习规划与备考指南
- 2026高级讲解员面试题及答案
- 2026公考信访面试题目及答案
- 2026邯郸乡镇面试题目及答案
- 2026护理蒙语面试题及答案解析
- 4.3.2 探索三角形全等的条件 同步练习【北师】七下数学一课一练
- 宫腔粘连考试题及答案
- 工艺美术面试题及答案
- 免疫组化原来如此简单IHC非生物素聚合物检测系统解析
- 水工系统施工方案
- 党建引领 五育并举 推动学校内涵式发展
- 《行政组织学》题集
- 2023-2024学年人教版七年级数学下册 相交线与平行线 期末检测卷
- DL∕T 5342-2018 110kV~750kV架空输电线路铁塔组立施工工艺导则
- 遗传学教案设计
- 养老院建筑设计说明书
- 《失眠的药物治疗》课件
- 2023年数学竞赛AMC8试卷(含答案)
- 会议服务培训标准与流程
- 肌少症-教学讲解课件
- 六年级数学上册奥数题-分数乘法(附答案)
评论
0/150
提交评论