C語言(2)

  粗濾的估計一下,C語言的博客估計會有四篇左右吧,適合有一定基礎的人看,也希望有想法的人和自己一起討論,小弟在這裏不勝感激。那麼廢話不多說,我們繼續開始C語言之旅~

  一,二級指針

     目前來講,自己關於二級指針用的場景還真不多,即便是能用的情況也可以根據別的形式來完全替代,也可能是我的經驗有限,但是二級指針的一個用途卻不得不引起我們的注意,有一句話說的好,學C語言的人如果不懂指針那就和沒學過C語言沒有什麼差別。

     而二級指針的最大作用就是可以隨意改變指針的指向,這在以後的開發中會提供很大的方便,就是對於初學者來說二級指針的形狀有一點怪,剛開始用的時候不太適應,但是我相信時間長了這些問題都可以被解決的。

    例:int **p;


  二,int *p(int) 和 int(*p)(int)

    int *p(int);

    這是一個函數,它的參數是一個整形,返回值是一個指向整形的指針。


    int (*p)(int);

    也可以看成 int A(int);

    這是一個指針,它指向參數是int,返回值是int的函數。函數指針。


  三,int *p[10] 和 int (*p)[10]

    int *p[10];

    也可以看成 int *A;

    這是一個數組,它有10個元素,每個元素是指向整型變量的指針。


    int (*p)[10];

    也可以看成 int A[10];

    這是一個指針,它指向10個整形元素的數組。


  四,將字符串轉化爲數字

#include<stdio.h>

#include<stdlib.h>

int main(void)

{

    int a1 = atoi("123");

    int a2 = atoi("-123");

    int a3 = atoi("123u123");

    int a4 = atoi("-123-123");


    printf("%d %d %d %d\n", a1, a2, a4, a4);

    return 0;

}


  五,找到子串在字符串中的位置

#include<stdio.h>

#include<string.h>

//char *

//strstr(const char *s1, const char *s2);


int main(void)

{

    char *p = "Welcome to to prison";

    char *q = "to";


    char *ret = strstr(p, q);

    if(ret != NILL){

        printf("%s\n", ret);

    }

    return 0;

}

如果沒找到,返回值爲空


  六,strtok:字符串分割函數

#include<stdio.h>

#include<string.h>


int main(void)

{

    char buf[] = "Welcome to prison"

    char *p = strtok(buf, "");


    printf("%s\n", p);

    return 0;

}


    strtok的用法

#include<stdio.h>

#include<string.h>


int main(void)

{

    char buf[] = "Hello, Welcome to prison";

    char &p = buf;

    char *q[5] = {};


    int i = 0;


    while(1){

        p = strtok(p, ",!");

        if(!p){

            break;

        }

        q[i++] = p;

        p = NULL;

    }

    

    for(i = 0; i < 5; i++){

        if(q[i]){

            printf("%s\n", q[i]);

        }

    }

    return 0;

}


代碼有點多,不過純手寫,還真是費勁,真懷念Xcode的強大啊,快了,還有不到一個月的時間蘋果電腦就到了,好好領會上面的代碼會對我們的程序人生有着強大的幫助,想寫這些,欲知後事如何,請聽下回分解。

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