粗濾的估計一下,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的強大啊,快了,還有不到一個月的時間蘋果電腦就到了,好好領會上面的代碼會對我們的程序人生有着強大的幫助,想寫這些,欲知後事如何,請聽下回分解。