1. 程式人生 > >C語言 字串指標與二維字串陣列

C語言 字串指標與二維字串陣列

31.字串指標

char *str = "hello world";    //hello world這個字串儲存在常量區,str只儲存了字串常量的首地址

字串指標變數的定義說明與指向字元變數的指標變數說明是相同的。只能按對指標變數的賦值不同來區別。對指向字元變數的指標變數應賦予該字元變數的地址。

①重新儲存另一個字串常量

str = "i love you";

str儲存的是常量i love you常量的首地址

②讀取字串常量的某個字元

printf("%c\n",&(str+2));  //讀取了‘l’

注意:

    1)使用字元陣列來儲存的字串是儲存在棧裡的,儲存棧裡面的東西是可讀可寫,所有我們可以改變裡面的字元當把一個字串常量賦值一個字元陣列的時候,那麼它會把字串常量中的所有字元都放到字元數組裡面

    2)使用字元指標來儲存字串,它儲存的是字串的常量地址,常量區是隻讀的,所以我們不可以修改字串中的字元。

32.二維字串陣列

char strs[3][10] = {"aaa","bbbb","ccccc"};   //三個字串長度為10的二維字串陣列,每個字串長度不足10的補\0

定義的時候可以預設行下標,但不能預設列下標。

char st[][10] = {"china","japan","american"};  //正確

相關推薦

語言 字串指標字串陣列

31.字串指標 char *str = "hello world";    //hello world這個字串儲存在常量區,str只儲存了字串常量的首地址 字串指標變數的定義說明與指向字元變數的指標變數說明是相同的。只能按對指標變數的賦值不同來區別。對指向字元變數的指標

C語言指標陣列

    指標,其實就是地址,可以指向一塊自己分配大小的空間。陣列即是多塊一位的空間的線性排布。二維陣列,雖然在人文定義的感覺上有了面的理解,但實際在記憶體中也是一維的線性空間。     對於討論二維陣列,首先我們應該先討論一維陣列與

語言學習筆記(陣列字串

int arr[行][列] = {0}; 二維數字元素表示 case1:第二行第三個 case2:先算arr[1]第二行地址然後第三個 case3:先算arr+1第2行地址,[]比優先順序高,相當於(*(arr+1+2)),固第4行地址第一個值。

指標7(指標陣列

先來道例題 #include<stdio.h> int main() {int a[3][4]={{0,1,2,3},{10,11,12,13},{20,21,22,23}}; int *p,i,j; p=&a[0][0]; printf("\n"); for

C ++ 指標 | 指標陣列_5

指標與二維陣列  根據上面的圖,我現在寫一些語句,我們一起來判斷輸出值是多少!! int (*p)[3] = B; print B; 這個會列印多少? 思考一下。。。。。。。 。。。 。。。 。。。 列印: 400 print *B;

指向指標指標陣列的區別

int main(){ int a[2][3]={{1,2,3},{4,5,6}}; int **p=a; cout<<**p<<endl; }       以上程式碼有沒有問題?       由於p是指向指標的指標,p指向一個int *型

指標陣列練習-文字排版(C程式設計進階 第5周)

程式設計題#3:文字排版 來源: POJ (Coursera宣告:在POJ上完成的習題將不會計入Coursera的最後成績。) 注意: 總時間限制: 1000ms 記憶體限制: 65536kB 描述 給一段英文短文,單詞之間以空格分隔(每個單詞包括其前後緊鄰的標點

指標陣列

一.、二維陣列元素的地址          定義如下二維陣列:         int a[3][4] = { {0,1,2,3},  {4,5,6,7},  {8,9,10,11} };          a為二維陣列名,此陣列有3行4列, 共12個元素。但也可這樣來理解

關於C使用指標獲取字元陣列資訊

最近在完成一個專案,專案中頻繁的使用到字元二維陣列,今天就個人在實際中的經驗來總結一個比較好的使用方法,歡迎各位大神踴躍拍磚。 測試的二維陣列: char ch[][50] = { "1-2-3", "4-5-6", "7-8-9

C語言中一陣列陣列

int arr [4]  //定義了一個一維陣列,長度為4;說明以下三個分別是什麼型別; (1)arr //型別為int *,表示陣列元素首地址,即圖中箭頭指向的位置。 (2)arr+1 //型別為int *,表示陣列元素首地址+1,即圖中箭頭指向的位置。 (3)arr [0

C語言陣列篇(五)多級指標陣列指標的區別

多級指標   以二級指標為例 二級指標的由來是 指標陣列 的指標形式. int *p[10] 讀取的順序是 p[10] --> 10個空間的陣列 * p[10] --> 這10個空間的數組裡面存放的資

字元陣列賦值和字串比較

  一、賦值 1. 宣告時初始化賦值 char str[][20]={"aaa","bbb","ccc"};  2. sprintf / strcpy(#include <string.h>) char str[3][20];  sprin

字串形式的碼轉換為碼圖片

//二維碼展示 js function showEWM(data){ var qrcode = new QRCode(document.getElementById("qrcode"), { width : 220, height

指標陣列的關係

指標與陣列的關係: 指標與變數的光系: 陣列是一塊連續的同類型空間 首組名:是首地址 陣列指標:可以存放多個指標的陣列 定義:型別*陣列名【長度】; 【】規定使用者空指標作指標陣列的結束元素標記, 取元素:下標法 指標法 優先順序:[ ] > * 指標與二維陣列的關係: 定義二

char陣列char指標

char**的記憶體結構可以看成有多個連續的char*型別的元素構成,而二維字元陣列是由M*N個字元組成。 1. 以下函式將出現段錯誤:#include <stdio.h>#define M 2#define N 100void test(const char*

字串轉成陣列

 有 字串一個:String str = "ss/dd/sddf|ssd/sd/sdf|ss/sdf/sd";轉換成二維陣列:第一維 :  String[] a = str.split("|"); 再用spit("/")擷取第二維陣列for(int i=0;i<a.ie

是否瞭解printf("%s",....)printf("%c",...)的區別,指標的強制轉換成一指標指標甚至多指標時如何正確使用

程式碼1:  #include <stdio.h> #define va_list void* #define va_start(arg, start) arg = (va_list)( ((char*)&start) + sizeof(start

C語言指標篇(三)用指標訪問陣列 & 例項分析

之前對指標的認識並不深入,最近在做影象處理,需要用二維陣列儲存影象資料,發現用指標訪問二維陣列的規律,感覺很有意思。 一般,我們定義一個二維陣列比如m[2][2]={ 1,2,3,4 },假如想訪問第i行,j列的元素,用m[i][j]即可,例如m[1][1]=4。 那麼二

C++實現字串陣列

最近有個需求,要利用c++實現一個二維的字串陣列,網上查了下,竟然沒找到 因為c++的string用起來感覺非常繁瑣,所以還是決定利用char型指標來做這個功能 思路是二維數組裡存的都是一維陣列,一維數組裡存char* 所以解決方案如下: const char* getCo

陣列指標陣列指標指標陣列陣列指標的概念詳解、例項解析

概念詳解:指標:指標與“int a”,“float b”一樣,也是一種變數,只是指標變數中儲存的是記憶體單元的地址,這是與“int a”和“float b”的本質區別,C語言的精華就在於指標、結構體和連結串列。一維陣列:定義一維陣列之後,即在記憶體中分配一段連續的地址空間,如