C语言学习笔记之指针

指针是C语言的重点与难点,利用指针可以实现存储空间的动态分配,减少空间上的浪费。
指针变量是一种特殊类型的变量,它里面存储的就是内存的地址。
1、指针的定义格式:类型标识符 *标识符
eg:float *pointer_1;
ps1:一个指针变量只能指向同一类型的变量。
2、指针变量的初始化
一般形式:[存储类型] 数据类型 *指针名=初始地址值
eg:int *p1=&a;
3、指针变量必须先赋值,在使用。
4、当函数返回值为指针型数据时,这种函数称为指针型函数,简称指针函数。
定义格式如下:数据类型 *函数名(形参表)
5、二级指针简单理解就是指针的指针,经一个指针变量的地址再送给一个新的指针变量,则这个新指针变量相对前一个指针所指的变量,就形成一个二级指针。如下程序段:

int i;
int *p;
int **p;
p=&i;
pp=&p;

综合例子:

#include"stdio.h"
#define nmax 50
int main()
{
    int i,k,m,n,num[nmax],*p;
    printf("\n please input the tatal of number:");
    scanf("%d",&n);
    p=num;
    for(i=0;i<n;i++)
        *(p+i)=i+1;
    i=k=m=0;
    while(m<n-1)
    {
        if(*(p+i)!=0)
        k++;
    if(k==3)
    {
        *(p+i)=0;
        k=0;
        m++;
    }
    i++;
    if(i==n)
        i=0;   
     }
     while(*p==0) 
         p++;
     printf("%d is left\n",*p);
     return 0;

}

运行结果:
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章