1. 程式人生 > >C語言值指標\字串、字串查詢

C語言值指標\字串、字串查詢

隱式轉換的原則:向表示範圍大的方向轉換;有符號向無符號轉,小位元組向多位元組轉,整數向實數(float、double)轉;

每一個位元組都有一個記憶體地址與之對應;

陣列名,也就是首地址,是一個常量;

所有字串都是以\0結束;字串可以用char *a="hello";char  str[6]="hello",char str[]="hello";char str[6]={‘h’,‘e’,‘l’,‘l’,‘o’};


------字串操作函式----------------

***************陣列複製*************

char des[20]="ab";

char *str="hello";

strcpy(des,str);//吧str拷貝到des中

strncpy(des,str,sizeof(des) );//第三個引數是複製多少個字元

***************字串比較**************

strcmp(des,str);//一次表兩個字串的每一位字元的ascii碼值;des大於str返回1,相等返回0;相等返回負數(ascii碼差值);

strncmp(des,str,n);//比較前n個字元

****************連線兩個字串*********

strcat(des,str);//結果abhello;

strncat(des,str,n);//str取n個字元追加到des後面,然後加上\0;

***********strchar*********

strchar(des, ‘a’);//如果a存在於des中,返回a第一次出現的地址,如果不存在,返回null;

strstr(des,“aa”);//des中包含aa字串

*******************strtok**切割字串***************

char *str="hell0 world look ";

//以?或*或&切割字串;

char *dilm="?*&";

strtok(str,dilm);

strtok(NULL,dilm);


********************字串長度**********

strlen("asdf");

相關推薦

C語言指標\字字串查詢

隱式轉換的原則:向表示範圍大的方向轉換;有符號向無符號轉,小位元組向多位元組轉,整數向實數(float、double)轉;每一個位元組都有一個記憶體地址與之對應;陣列名,也就是首地址,是一個常量;所有字串都是以\0結束;字串可以用char *a="hello";char  s

C語言char單字元字串字元陣列(二)

//概論:C沒有為字串定義專門的變數型別,而是轉它儲存到char陣列中 //建立單個字元 char a = 'A'; a = 65; a = '\b';

C語言——通過指標如何操作字串——儲存和運算

1.兩種字串的引用方式 第一種:定義一個字元陣列,將字串放在字元陣列中。這樣可以通過下標引用法引用字串中的字元,通過陣列名輸出該字串。 #include<stdio.h> int main(void) { char a[]="I lo

C語言,結構體中字串的宣告(採用字元指標還是字元陣列)

      結構體中,字串選項是用字元陣列表示好,還是用字元指標表示好? typedef struct person{ char *name; int age; char sex[6]; }       該結構體中name用的是指標而不是陣列,所以需要給字串在堆上申

c語言實現:在母字串查詢字串出現的次數

//功能:用c語言實現在母字串中查詢子字串出現的次數 //分析:從母字串中的第一個字元開始尋找與子字串第一個字元相同的子串 //然後從第二個字元開始,直到母字串結束 //測試用例: 母字串aaaaaaa

C語言中字元陣列和字串指標分析

    這幾天搞Unix上的C程式,裡面用到了很多字元陣列和字串指標,我記得在學完C語言後相當一段時間裡,對指標這個東西還是模模糊糊,後來工作也沒怎麼用到過C,雖然網上這類的文章也有很多,還是決定自己在這做個小總結,也算加深下自己的印象,寫了下面的測試程式: #include <stdio.h>

C語言從控制檯輸入一個字串,然後賦給變數

一、常規程式碼: char name[5]; printf("Name: "); scanf("%s", name); printf("Name = %s\n", name); 測試: 1、輸入“abc”, 輸出“abc”,正確 2、輸入“ab c”, 輸出“ab”, 出

C語言指標的算術運算(指標+/-整數指標+/-指標

一、指標+/-整數  在之前學習指標時,我們知道指標其實也是一種特殊的變數,既然這樣,那麼指標應該和普通變數一樣,可以進行算術運算。那問題就來了,是不是對指標的任何運算都是合法的呢? 答案是它可以執行某些運算,但並非所有的運算都合法。(指標可以進行加減法,對於乘除法是非法的)

C語言(二 運算子條件語句指標

C運算子 包括算數運算子,邏輯運算子,關係運算符,位運算子,賦值運算子,其他運算子。 算術運算子 就是加減乘除求餘,自增自減等算術。 邏輯運算子 與:&&,或:||,非:! 關係運算符 等於,大於,小於等組合 位運算子 位與:&,位或:|,位左移<<,位右

c語言用for迴圈輸入字串

#include<stdio.h> #include<string.h> int main(){     char a[3][10]={"abc"};     char b[10];    &

C語言指標連結串列的原理和各類操作

一、指標 1、運用指標         什麼是指標?什麼是記憶體地址?什麼叫做指標的取值?指標是一個儲存計算機記憶體地址的變數。從指標指向的記憶體讀取資料稱作指標的取值。指標可以指向某些具體型別的變數地址,例如int、long和double。指標也可以

C語言printf輸出string型別字串

知識點: 1.printf函式輸出字串是針對char *的,即printf只能輸出c語言的內建資料,而string不是c語言的內建資料。 2.string型別的物件不止包含字串,還包含了許多用於操作函式,所以&str並非字串的首地址。 3.如需輸出string物件中的字串,可以使

C語言指標中的給陣列

  如果把各種語言做個冷兵器類比的話,C語言一定是刀客的最佳工具.入門很簡單,但是要是能把它熟練運用,那就是頂尖級別的高手了. 用了那麼多年的C語言,發現自己還是僅僅處於熟練的操作工.今天遇到了一個bug,就是和指標的賦值有關係.請看程式碼: 1 #include <stdio.h>

C語言:比較兩個字串是否相等

1) 使用strcmp進行比較 下面通過一個例子進行演示: #include <stdio.h> #include <string.h> int main(void) { char* str1 = "abc"; char* str2 = "a

c語言-10進位制字串轉16進位制字串

程式碼: #include <stdio.h> #include <string.h> #include <malloc.h> char *DecToHex(char *pHex,char *pDec,int Declen) { int

C語言根據協議分割獲取字串單元

協議做如下規定: 規定資料協議: 序列號    長度   狀態字   資料長度  資料1  資料2   資料3 以空格作為資料單元。                         ep:   00

C語言自學完備手冊(24)——字串(1)

字串概述 字串就是字元序列,通常將字串置於雙引號之間。例如:“ABC"就是一個字串,雙引號之中的值被稱為字串字面量(string literal),雙引號中可以沒有字元,可以只有一個字元,也可以有很多個字元。在字串字面量的末尾會被自動加上一

C語言strcasecmp()函式:判斷字串是否相等(忽略大小寫)

標頭檔案:#include <string.h> 定義函式:int strcasecmp (const char *s1, const char *s2); 函式說明:strcasecmp()用來比較引數s1 和s2 字串,比較時會自動忽略大小寫的差異。 返回值:若引數s1 和s2 字串相同則返回

平衡二叉樹的C語言實現(建立插入查詢刪除旋轉)【資料結構】

平衡二叉樹(AVL)或者是一顆空樹,或者是具有下列性質的非空二叉搜尋樹: (1). 任一結點的左、右子樹均為AVL樹; (2). 任一結點的左、右子樹高度差的絕對值不超過1。 對於二叉樹中任一結點T,其“平衡因子”(Balance Factor, BF)定義為BF(T)

c語言判斷是否是utf8字串,計算字元個數

#include <stdio.h> #include <string.h> #include <stdlib.h> /******************************************************************