- 浏览: 72766 次
- 性别:
- 来自: 北京
1.指针变量的初始化
int a,*pa; pa=&a; 或者 int a,*pa=&a;
应注意,后者初始化中的“*pa=&a”不是一个运算表达式,而是一个说明语句。在这里是将变量a的地址值付给指针变量pa,而不是*pa。
2.指针型函数和指向函数的指针
(1)指针型函数:函数的返回值是指针类型。
(2)简称函数指针,其内容是函数的入口地址。定义如下:
数据类型 (*函数指针名)();
函数指针的主要作用是作为参数在函数间传递函数。
3.指针数组和二维数组的行指针
(1)指针数组
int *pa[2];
指针数组常用来处理多维数组。
(2)二维数组行指针
int a[3][4]; int (*pa)[4]; pa=a;
它表示pa是一个指针变量,它指向包含4个元素的一维数组。*(pa+i)=a[i]表示的是一维数组a[i]0号元素的首地址(二维数组中并不存在a[i]元素)。而*(*(pa+i)+j)表示的是i行j列的元素的值。
4.main函数的参数
main(int argc,char *argv[])
main函数的参数是从操作系统的命令行获得的。第一参数表示的是参数的个数,第二个参数为字符串指针数组,其各元素是命令行中个字符串的首地址。下面的示例打印输入的参数:
#include<stdio.h> main(int argc,char *argv[]) { while(argc-->1) printf("%s\n",*++argv); }
5.指针示例
#include<stdio.h> int add(int x,int y) { return x+y; } void pfunc(int x,int y,int (*pf)(int x,int y)) { printf("函数指针返回结果:%d\n",(*pf)(x,y)); } void main() { /*指针数组示例*/ int a[2][3],*pa[2]; /*pa[0]=a[0]; pa[1]=a[1];*/ /*二维数组行指针*/ int b[3][4]; int (*pb)[4]; /*pb=b;*/ /*二级指针示例*/ char *pstr[]={"one","two","three","four","five"}; char **p; p=pstr; printf("二级指针返回结果:%s\n",*(p+1));getch(); /*函数指针示例*/ pfunc(3,5,add); }
发表评论
-
排序算法---计数排序
2011-11-27 14:57 558#include <stdio.h> vo ... -
排序算法---归并排序
2011-11-26 19:33 699#include <stdio.h> vo ... -
排序算法---交换排序(冒泡排序、快速排序)
2011-11-26 19:32 666#include <stdio.h> vo ... -
排序算法---选择排序(简单插入排序、堆排序)
2011-11-26 19:31 600#include <stdio.h> vo ... -
排序算法---插入排序(简单排序、shell排序)
2011-11-26 19:29 602#include <stdio.h> vo ... -
删除字符串中的特定字符和重复字符
2011-11-26 13:45 631#include <stdio.h> vo ... -
Linux编程-多线程、同步和互斥(转载)
2011-11-14 15:27 1153http://www.cnblogs.com/skynet/a ... -
寻找字符串中的最大数字子串
2011-09-22 17:17 1472#include <stdio.h> int f ... -
删除子字符串
2011-09-21 15:27 565#include <stdio.h> #incl ... -
c语言随机数
2011-09-18 17:15 657#include <stdio.h> #i ... -
带头结点有序单链表的合并
2011-09-08 14:21 1145typedef int Item; typedef s ... -
链表逆序的递归/非递归算法
2011-09-01 23:37 1359/** *链表逆序的递归/非递归算法 */ # ... -
递归算法---字符串---全/部分组合和全排列
2011-08-30 23:01 1175#include <stdio.h> #i ... -
递归算法---0-1背包问题(面试宝典)
2011-08-28 21:11 1854/** *正整数n,m,从数列1、2、3、...、n中随 ... -
递归算法---字符串全组合(面试宝典)
2011-08-28 17:24 1211/** *求一字符串所有字串的组合 */ #i ... -
递归算法---求解多元一次方程
2011-08-28 10:38 1862/** * 求解x1+x2+x3+...+x10 = ... -
(zz)关于类的sizeof
2011-08-27 18:16 528http://blog.sina.com.cn/s/blog_ ... -
(zz)结构体字节对齐原则
2011-08-27 17:53 1551结构体默认的字节对齐一般满足三个准则: 结构体变量的首 ... -
list.h from linux-2.4
2011-08-25 09:59 572#ifndef _LIST_H_ #define _L ... -
The C Programming Lang (K&R) hash table
2011-08-25 09:52 902hash.h #include <stdio.h ...
相关推荐
课程思政-C语言程序设计-指针基础
本文主要讲了C语言指向指针的指针的相关问题,下面一起来学习一下
SPT-C语言基础-结构体指针.pdf
C语言基础--初识指针
C语言程序设计基础(第3版)_何钦铭_课后习题答案
C语言教程_C语言指针教程 包括指针的概念、指针变量、动态内存分配、多级指针等 资源为视频教程资源 希望对你的 C语言 学习有所帮助。
这两段代码都和指针有关,运行都会core。这样的两个坑也大概可以说明c++到底有多复杂,精通c++到底有多难。同时也大概可以说明为啥站在程序设计顶峰的人大抵都是c或c++程序员。
C语言符号控制命令表,包含编译指令,基础数据类型,用户自定义数据类型格式,保留字,常量表示法,运算符,控制命令,指针和函数,汇编语言,宏的命令符号。
C语言基础教程课件字符串操作函数: C语言提供了一些字符串操作函数,其中包括strcpy()函数和strcat()函数。strcpy()函数用于将一个字符串的内容复制到另一个字符串,相当于字符串赋值。strcat()函数用于将一个字符...
c语言基础 C语言基础及指针系列源码.zip
在C语言中数组和指针之间存在一些千丝万缕的联系,搞不清楚的情况下非常容易出错,在前一段时间我写过关于数组和指针的分析,但是还是存在很多不清楚的问题,特别是当出现一些复杂的问题时,这种情况更加的复杂。...
C语言中的指针其实并没有那么可怕,我上传了一份C语言指针基础课件。欢迎大家下载。
本文档是适合于基础学习C语言指针到深入学习的c语言指针的总结性文档,本人能力有限,如错误之处,请告知我。
C语言基础,指针知识梳理
C语言是一门强大而受欢迎的编程语言,而指针和内存管理是C语言中最重要的概念之一。理解指针和内存管理的原理对于编写高效且可靠的C代码至关重要。本文将介绍C语言中指针和内存管理的基本知识,并提供相关的代码示例...
c语言基础
编程基础-C语言项目八利用指针灵活处理程序.pptx
这个是本人学c语言重开始到现在积累的c语言 笔记代码,有大量注释,里面有一个我编写的指针理解汇总小程序,对初学者尤其有用,下载不会后悔的!