数组指针示例2
来源:互联网 发布:刷app下载量软件 编辑:程序博客网 时间:2024/06/04 01:30
1 #include<stdio.h>
2
3 char* func()
4 {
5 char a = '#';
6 return &a;//不要返回普通局部变量的地址!
7 }
8
9 void f1(int *p,int *q){int* t = p;p = q;q = t;}
10 void f2(int *p,int *q){int t = *p;*p = *q;*q = t;}
11 void f3(int a,int b){int t = a;a = b;b = t;}
12
13 void show(double a[],int n)//a看似数组 其实是指针
14 {15 double x = 123.45;
16 printf("sizeof a = %d\n",sizeof(a));
17 a = &x;
18 printf("*a = %g\n",*a);
19 }
20
21 void print(double *p,int n)
22 {
23 int i;
24 for(i = 0;i<n;i++)
25 printf("%g ",p[i]);
26 printf("\n");
27 }
28
29 int main()
30 {
31 double o[5] = {1.1,2.2,3.3,4.4,5.5,};
32 show(o,5);
33 print(o,5);
34
35 char c = '@';
36 char* p1 = &c;
37 *p1 = '$';
38 printf("c = %c\n",c);
39
40
41 printf("*p = %c\n",*p1);
42 printf("*p = %c\n",*p1);//输出可能不是‘#’了
43
44 int a = 10,b = 20;
45 //int t = a;a = b;b = t;
46 int x,y[5],*p = &a,*q = &b;
47 int t = *p;*p = *q;*q = t;
48 printf("a = %d,b = %d\n",a,b);
49 int m = 10,n = 20;
50 int *u = &m,*v = &n;
51 int*w = u;u = v;v = w;
52 printf("m = %d,n = %d",m,n);
53
54 f1(&m,&n);printf("m = %d,n = %d\n",m,n);//把复制过的地址做操作也没有影响
55 f2(&m,&n);printf("m = %d,n = %d\n",m,n);//对原始变量进行操作 所以有改变
56 f3(m,n);printf("m = %d,n = %d\n",m,n);//值传递都是复制品的传递
57 return 0;
58 }
0 0
- 数组指针示例2
- 数组指针示例
- 指针数组和数组的指针(示例)
- C语言:一级指针,二级指针,三级指针,指针数组,数组指针的综合示例
- 数组和指针内存分配示例代码
- 数组和指针内存分配示例代码
- 使用函数指针数组驱动的菜单系统示例
- 信管14:对象数组、指针示例分析例程
- 【示例】C语言中利用数组存放函数指针
- 指针与数组的示例代码(帮助理解)
- 数组指针--2
- 数组与指针2
- 指针访问数组2
- 数组和指针(2)
- 数组与指针2
- 指针数组、数组指针
- 指针数组/数组指针
- 指针数组/数组指针
- HDU1247 Hat’s Words (字典树)
- 纯UGUI项目的开发工作流及发布
- bzoj2298 problem a 动态规划
- C#成神之路<17> C#使用磁盘数据文件(1)
- 1089 Insert or Merge
- 数组指针示例2
- HDOJ 1005 Number Sequence
- jsp的标签
- JavaWeb_使用Cookie模拟实现显示最近浏览的商品
- 【HTTP协议系列2】User-Agent的历史
- static的理解
- UIScrollView内部子控件自动布局的一些注意点
- JavaBean 和内省
- 2016.2.11-2.12 HDU ACM steps