博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言学习笔记05(指针)
阅读量:731 次
发布时间:2019-03-21

本文共 2974 字,大约阅读时间需要 9 分钟。

文章目录

什么是指针?

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:type *var-name

int    *ip;    /* 一个整型的指针 */double *dp;    /* 一个 double 型的指针 */float  *fp;    /* 一个浮点型的指针 */char   *ch;     /* 一个字符型的指针 */

C 中的 NULL 指针

#include 
int main (){
int *ptr = NULL; printf("ptr 的地址是 %p\n", ptr ); return 0;}----------------------ptr 的地址是 0000000000000000

递增一个指针

#include 
int main (){
int *p,i; int array[]={
0,1,2,3,4}; p=array; for(i=0;i<5;i++){
printf("array[%d] 的地址是 %x\n",array[i],p); printf("array[%d] 存储值是 %d\n",array[i],*p); p++; } return 0;}----------------------array[0] 的地址是 62fe00array[0] 存储值是 0array[1] 的地址是 62fe04array[1] 存储值是 1array[2] 的地址是 62fe08array[2] 存储值是 2array[3] 的地址是 62fe0carray[3] 存储值是 3array[4] 的地址是 62fe10array[4] 存储值是 4

递减一个指针

#include 
int main (){
int *p,i; int array[]={
0,1,2,3,4}; p=&array[4]; for(i=4;i>=0;i--){
printf("array[%d] 的地址是 %x\n",array[i],p); printf("array[%d] 存储值是 %d\n",array[i],*p); p--; } return 0;}----------------------array[4] 的地址是 62fe10array[4] 存储值是 4array[3] 的地址是 62fe0carray[3] 存储值是 3array[2] 的地址是 62fe08array[2] 存储值是 2array[1] 的地址是 62fe04array[1] 存储值是 1array[0] 的地址是 62fe00array[0] 存储值是 0

指针的比较

#include 
int main (){
int *p,i=0; int array[]={
521,125,1314,8187}; p=array; while(p<&array[3]){
printf("array[%d] 的地址是 %x\n",array[i],p); printf("array[%d] 存储值是 %d\n",array[i],*p); p++; i++;} return 0;}---------------------array[521] 的地址是 62fe00array[521] 存储值是 521array[125] 的地址是 62fe04array[125] 存储值是 125array[1314] 的地址是 62fe08array[1314] 存储值是 1314

C 指针数组

#include 
int main (){
int *p,i=0; int array[]={
521,125,1314,8187}; p=array; for(i;i<4;i++){
printf("array[%d]=%d\n",i,*p); p++;} return 0;}----------------------array[0]=521array[1]=125array[2]=1314array[3]=8187
#include 
int main (){
char *names[] = {
"tom","jack","steve","juliy",}; int i = 0; for ( i = 0; i < 4; i++) {
printf("The %dth pepple is %s\n", i+1, names[i] ); } return 0;}----------------------The 1th pepple is tomThe 2th pepple is jackThe 3th pepple is steveThe 4th pepple is juliy

指向指针的指针

#include 
int main (){
int a=18; int *p,**pp; p=&a; pp=&p; printf("%d\n",a); printf("%d\n",*p); printf("%d",**pp); return 0;}----------------------181818

传递指针给函数

#include 
double fun(int *s);int main (){
int a[5]={
1,2,3,4,5}; double ave; ave=fun(a); printf("%lf",ave); return 0;}double fun(int *s){
int sum=0,i; double ave; for(i=0;i<5;i++){
sum+=s[i]; } ave=sum/5; return ave;}----------------------3.000000
#include 
int fun(int *s);int main (){
int a[5]={
1,2,3,4,5},sum=0; sum=fun(a); printf("%d",sum); return 0;}int fun(int *s){
int sum=0,i; for(i=0;i<5;i++){
sum+=s[i]; } return sum;}----------------------15

转载地址:http://lzagz.baihongyu.com/

你可能感兴趣的文章