黑马-C语言-指针
来源:互联网 发布:网络主播不雅 编辑:程序博客网 时间:2024/05/28 05:17
int a = 10;
int *p;
p = &a;
printf(“%d”, *p);
注释: int *p中 *p和p的差别:简单的说*P是数值,p是地址。
*p可以当作变量来用,*的作用就是取后面地址的p的数值。
p是当作地址来使用。可以用在scanf函数中:scanf(“%d”,p)
*p++是地址会变化 取当前值,然后在移动地。
(*p)++ 是数值会变化 取当前值,然后在使数值增加1.
1.定义指针:
1>.int a = 2,*p = &a;(定义的同时初始化)
2> int a = 2,*p;p = &a;(定义之后初始化)
注:函数之间应用如果传的是基本类型则是普通的值传递,main函数的数值不变,如果传的是指针则值改变。
e.g. void text (int ,int)void text (int * ,int*)
{int t;{ int t;
t = a,a = b ,b = t;t = *a ,*a = *b,* b = t
}}
main () main() {{
int x = 1,y = 3;int x = 1,y = 3;
text (x,y);text (&x,&y)
printf("%d,%d",x,y);printf("%d,%d",x,y);
} }
前者答案是1和3,后者答案是3和1.
2.指向函数的指针
e.g.;
1>指针也是C语言中的一种数据类型,因此一个函数的返回值肯定可以是指针类型的.
2>返回指针的函数的一般形式为:类型名 * 函数名(参数)
3.指向函数的指针
定义:定义的一般形式:函数的返回值类型 (*指针变量名)(形参1, 形参2, ...);
使用注意:
1>由于这类指针变量存储的是一个函数的入口地址,所以对它们作加减运算(比如p++)是无意义的.
一般经常用指向字符串比如;
char c[ ] = "hello world!";可以改成 char *c = “hello world!”。
- 黑马-C语言-指针
- 黑马程序员:c语言--指针
- 黑马程序员-C语言指针
- 黑马程序员---C语言指针
- 黑马程序员---C语言指针
- 黑马程序员--C语言-指针
- 黑马程序员------C语言-----指针
- 黑马程序员---c语言--指针
- 黑马程序员---c语言 指针
- 【黑马程序员】【C语言】指针
- 黑马程序员--C语言指针
- 黑马程序员-C语言-指针
- 黑马程序员-C语言-指针
- 黑马程序员—C语言_指针
- 黑马程序员 C语言-----指针学习
- 黑马程序员——C语言指针
- 黑马程序员-c语言指针的学习。
- 黑马程序员 C语言 - 07 指针
- iOS容易造成循环引用的三种场景,就在你我身边!
- Linux 进程
- 南阳oj 题目11 奇偶数分离
- 排序之选择排序、堆排序、归并排序、快速排序
- 单通道和三通道学习理解单通道:
- 黑马-C语言-指针
- QT 随笔
- 每天一个linux命令(24):Linux文件类型与扩展名
- 改变鼠标形状
- ubuntu nfs常见错误解决方法
- Android中字体设置Font
- QT + PCL
- Overlapped I/O from wikipedia
- linux 修改 usb-serial.c 提升3G上网速度