c語言字串陣列的兩種表示方法
字串陣列
1. 定義
字串陣列:一個數組中的所有的元素都是字串。
如果想儲存一堆字串那麼可以使用字串陣列,說白了字串陣列就是二維陣列
字串陣列兩種表示:
第一種:char strr[4][6] = {"aaa", "bbb", "ccc"}; //char型別的二維陣列
第二種:char *str[4] = {"aaa", "bbb", "ccc"}; //char*型別的一維陣列
這裡解析一下第二種表示方法:str是一個一維陣列,而且數組裡面的每一個元素都是一個char型別值的地址。第一個指標是str[0],它指向第一個字串的第一個字元。第二個指標是str[1],它指向第二個字串的第一個字元。即一般地每一個指標指向相應字串的的第一個字元:
*str[0]=='a',*str[1]=='b',*str[2]=='c'
以此類推,str陣列實際上並不存放字串,它只是存放字串的地址(字串存在程式用來存放常量的那部分記憶體中)。可以把str[0]看作第一個字串。由於陣列符號與指標的關係,也可以用str[0][0]來表示第一個字串中的第一個字元,儘管str沒有被定義為二維陣列。
示例如下:
相關推薦
c語言字串陣列的兩種表示方法
字串陣列 1. 定義 字串陣列:一個數組中的所有的元素都是字串。 如果想儲存一堆字串那麼可以使用字串陣列,說白了字串陣列就是二維陣列 字串陣列兩種表示: 第一種:char strr[4][6] = {"aaa", "bbb", "ccc
C語言中字串的三種表示方法
1.在C語言中,是將字串作為字元陣列來處理的,字串是逐個存放到陣列元素中的,例如用一個一維的字元陣列存放字串"I am a boy.",如下程式碼:char c[12] = {'I','a','m','a','b','o','y','.'};這個字串的實際長度是11,陣列長度
C++ 拼接字串的兩種方法
#include <iostream> #include <iomanip> #include <cstdio> #include <cstring> #include <sstream> usin
C語言編程 兩種方法打印一個菱形(漸入顯示)
nag 支持 一個 left c語言 stdio.h watermark char () <1>第一種方法,利用字符數組定義一個空格數組和一個符號數組, 然後找到數組中間的元素,操作空格字符從中間開始向兩邊與符號數組的元素互換, 每互換一次進行一次輸出,打印上半
BZOJ 2101 [Usaco2010 Dec]Treasure Chest 藏寶箱:區間dp 博弈【兩種表示方法】【壓維】
space print 而且 problem 所有 php 一條直線 題解 bzoj 題目鏈接:http://www.lydsy.com/JudgeOnline/problem.php?id=2101 題意: 共有n枚金幣,第i枚金幣的價值是w[i]。 把金幣排成一
淺談C語言中的兩種語句
我們都知道學習C語言都會遇到兩種常見的語句:選擇語句,迴圈語句。今天就讓我們一起來簡單看看這些語句的特點及功能吧! 選擇語句 if語句,用來實現兩個分支的選擇結構。 switch語句,用來實現多分支的選擇結構。 比如這裡有一個選擇語句: #include&
c語言-----對陣列使用const的方法
有時需要使用只讀陣列 ,也就是程式從陣列中讀取數值 ,但是程式不向陣列中寫數值 。在這種情況下宣告並初始化陣列時 ,建議使用關鍵字const 。 const int days [ MONTHS ] = { 31 , 28 , 31 , 30 , 31
C語言、Java兩種方式下的——規定範圍內不重複隨機數
示例1:C語言版 #include <stdio.h> #include <stdlib.h> #include <time.h> //隨機產生規定個數的不重複數字 int findSame(int *arr, int in, int
golang xml marshal對應的struct兩種表示方法
1.xml的節點名字就是struct成員的名字,如:Project.ItemGroup,成員的型別名不影響 //vcxproj.filters type Project struct { ToolsVersion string `xml:"ToolsVe
C語言,陣列實現約瑟夫環問題(兩種方法)
約瑟夫環問題:約瑟夫環是一個數學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下一個人又從1開始報數,數到m的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列。 第一種方法:要求將每次
pow函式(數學次方)在c語言的用法,兩種編寫方法例項( 計算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值)
關於c語言裡面pow函式,下面借鑑了某位博主的一篇文章: 標頭檔案:#include <math.h> pow() 函式用來求 x 的 y 次冪(次方),x、y及函式值都是double型 ,其原型為: double pow(double x, double y
1.如何避免野指標2.獲取字串的兩種方法。以及malloc,calloc,ralloc的使用注意點3.二維三維陣列4.陣列和函式的區別
一:野指標: char *ptr; 定一個指標,沒有賦值,用NULL。 char *ptr = NULL 即表示指向空,不能再做賦值,不能對0地址操作訪問。 //#define NULL (void *)o 如果出現段錯誤,看看對NULL有沒有賦值。 如何避免野指標而不
【C語言】互換兩個數的值的三種方法
我在第一次C語言學習的過程中,對於C語言的認識不夠深刻,我覺得這種解法已經非常厲害。畢竟能將簡單的兩個數的交換用計算機的邏輯編寫出來,並實現正確執行......int main() { int num1 = 10; int num2 = 20;
C語言字串和字元陣列
如果是字元陣列,也可以用一個字串字面值來初始化: char str[10] = "Hello"; 相當於: char str[10] = { 'H', 'e', 'l', 'l', 'o', '\0' }; str的後四個元素沒有指定,自動初始化為0,即Null字元。
總結:C語言字串輸入的三種方式(scanf("%c",array); scanf("%s",str); gets(array);)
1、以scanf("%c",&array);的格式輸入字串; 由於%c是輸入一個字元,若需要輸入字串時我們可以建立陣列或指標配合迴圈(while,do{}while,for)來達到目的。如下例利用do{}while及陣列來輸入字串,並重新輸出,以字元#為結束標誌: #includ
Python中json.loads()無法解析單引號字串問題的兩種解決方法
目錄 1、json檔案的儲存與載入 2、json.loads()無法解析單引號字串問題 3、解決方案 方案一:替換單引號 方案二:在使用json.loads()前使用eval()和json.dumps()進行處理 1、json檔案的儲存與載入 一般來說,我建立字典、儲
C語言字元陣列與字串的種種
#include<stdio.h> #include<string.h> void printByInt(char c[], int count){
C語言中交換兩個陣列的值
昨天我們做了交換兩個變數的值,今天我們來看看如何交換兩個陣列的值(陣列內數的個數相同)。 我們可以這樣考慮,陣列不過是數的集合,既然我們會交換兩個數的值,那麼陣列只不過是多次交換兩個數的值,而且陣列內素下標又是依次增大的,所以這裡可以使用一個for迴圈。
C語言:比較兩個字串是否相等
1) 使用strcmp進行比較 下面通過一個例子進行演示: #include <stdio.h> #include <string.h> int main(void) { char* str1 = "abc"; char* str2 = "a
C語言字串和字串陣列的輸入賦值
**1、字串指標一定要開闢空間後在做輸入** char * str; str=(char*)malloc(100*sizeof(char)); scanf("%s",&str); **2、字串陣列要做初始化的開闢空間後再來儲存字串** cha