C---指针
来源:互联网 发布:177pic info新域名 编辑:程序博客网 时间:2024/06/17 01:49
C指针中的一些内容和例子
首先要知道指针的概念,要弄清指针的四个要素
1.指针的类型
2.指针指向的类型
3.指针所指向的地址
4.指针本身所占用的内存
另外要知道俩个指针运算符
&:取地址运算符
*:间接访问运算符即指针运算符
一、指针变量
/*1.指针变量*/#include <stdio.h>int main(void){ int i=1234; int *p=&i; //定义一个整形指针,指向变量i int x=*p; //通过指针访问变量i的内容 printf("p:%d\n",p); //指针指向的内存地址 printf("x:%d",x); //等于*p指针占用的内存 getchar();}
/*输入俩个整数a和b,按照大小的先后顺序排序*/#include<stdio.h>int main(void){ int a,b,*pointer_1,*pointer_2,*temp; scanf("%d,%d",&a,&b); pointer_1=&a; //指针指向变量 pointer_2=&b; if(*pointer_1<*pointer_2) //根据指针占用内存大小比较,即变量值比较 { temp=pointer_1; //改变指针指向的内存地址 从而做到指针占用内存的改变 pointer_1=pointer_2; pointer_2=temp; } printf("%d,%d\n",a,b); printf("%d,%d",*pointer_1,*pointer_2); getchar(); getchar();}
二丶指针运算符:
指针运算符(*)和指针变量说明符(*)不是一回事,在指针变量说明中,*是类型说明符,表示其后的变量是指针类型,而表达式中出现的*则是一个运算符用以表示指针变量所致的变量。
#include<stdio.h>int main(void){ int a=5,*p=&a; //指针变量P取得了整形变量a的地址,在这里是指针运算符 printf("%d",*p); //表示输出变量a的值。在这里就是指针变量说明符 getchar();}
三丶赋值运算:
1.初始化赋值:
int *pointer=&a;
2.把一个指针变量的值赋予指向相同类型的指针变量:
int a=5,*pointer; pointer=&a;
3.把一个指针变量的值赋予指向相同类型的另一个指针变量:
int a=5,*pointer=&a,*pointerInt; pointerInt=pointer; //把a的值赋予指针变量pointerInt
4.把数组的首地址赋予指向数组的指针变量:
int a[5],*pointer; pointer=a; //数组名表示数组的首地址,故可赋予指向数组的指针变量 or pointer=&a[0];//数组第一个元素的地址也是整个数组的首地址,也可赋予pointer
5.把字符串的首地址赋予指向字符类型的指针变量:
char *pc; pc="C language"; printf("%c",&pc); getchar(); //输出结果为D
这里应说明的是,并不是把整个字符串的装入指针变量,二十把存放该字符串的字符数组的首地址装入指针变量。在后面还将详细介绍,
6.把函数的入口地址赋予指向函数的指针变量:
int main(void){ int (*pf)();//定义函数指针 pf=f; }int f(void) //函数f{}
四丶加减算术运算
0 0
- C指针的指针
- c 指针的指针
- C--指针
- C-指针
- C指针
- C指针
- C指针
- C---指针
- c 指针
- C指针
- C指针
- C指针
- C 指针
- c指针
- C指针
- C 指针
- C 指针
- C 指针
- svn: Authorization failed
- 汇编基础:二进制和十六进制
- C控制语句--分支和跳转
- ASP.NET学习笔记--自己写的Login.aspx
- ASP.NET学习笔记2--自己写代码绑定Gridview
- C---指针
- Jquery--仿制360右下角弹出窗口
- C--指针数组
- C---通过指针访问数组
- C---数组名作函数参数
- C_数据结构
- C语言练手自己编写学生成绩管理系统
- C_文件读写流
- centos6.4 设置固定IP