入門C語言中的數組,字符串常量與指針

2020-12-19 還能說晚安咩

數組

數組聲明為 數據類型 名稱[ constant-size ],並將一個數據類型的一個或多個實例分組到一個可尋址的位置,constant-size可能是一個表達式,但是該表達式必須求值為常量,例如: #define MAX_SIZE 16 …… int list [MAX_SIZE + 1];

C數組開始於元素0,所以像陣列定義 int a[3];將創建三個int元件,可尋址如a[0],a[1],和a[2]請注意,即使定義很難說a[3],也沒有名為a[3]

與其他變量一樣,全局和靜態數組元素默認情況下初始化為0,並且自動數組元素填充有垃圾值

可以使用大括號中的一個或多個值來初始化數組,例如int a[3] = {5, -2, 17};ANSI C之前的編譯器可能不允許在自動數組上進行初始化

如果存在初始化值列表,但未 指定常量大小,則數組的大小與初始化值的數目相同int q[] = {1, 2, 3}; 是相同的。int q[3] = {1, 2, 3};

要聲明對另一個文件中定義的數組的外部引用,請使用extern int a[];

字符串常量

在C語言中,類型數組char用於表示字符串,字符串的結尾由設置為0的字節標記(也稱為NUL字符)

以下定義都將其數組設置為相同的值: int str1 [] = {'a','b','c','\ 0'}; int str2 [] =「 abc」;

ANSI C還允許定義像int str[3] = "abc"; ,即是相同的int str[3] = {'a', 'b', 'c'}; (省略了最終NUL字符)

指針

指針是包含變量地址的變量

有兩個與指針關聯的運算符:該&操作符返回其參數的地址、*取消引用它的參數通過指針訪問對象指針

指針的一個簡單示例是: int i,j; int * p; / *指向'int'的指針* / i= 6; p =&i; / *將`p'設置為`i'的地址* / j = * p; / *將'j'設置為6('i'的值)* / * p = 5; / *將'i'設置為5 * /

指針可以包含一個地址或一個稱為空指針的特殊值,該 值不同於所有有效指針指針上下文中的0將在編譯時轉換為空指針還有一個預處理器宏NULL(在<stdio.h>或定義 <stdlib.h>)像expression這樣的表達式將導致語句是否為空指針,因此代碼將與空指針 進行隱式比較if (!ptr) statementptrif (ptr)if (ptr == 0)0ptr。

相關焦點

  • C語言|字符串數組的初始化
    用字符串初始化2. 用單個字符初始化在這裡我們可以看到,存儲「hello」的字符串數組的大小應該至少為6的,但這裡我們發現把數組的大小設為5,程序也可以正常運行,如下圖所示。再小了就會報錯了但是,在用第一種方法,即直接用字符串賦值的時候卻要嚴格遵守字符串數組的大小規則此時程序報錯,有知道這是為什麼的朋友可以留言或者私信我在插入了』\0』之後,字符串就結束了也可以在其中插入回車符來實現換行的效果
  • C語言你學「廢」了嗎?
    然後你慢慢的進入老師的節奏,初識C語言 / 了解C語言的發展史,搭建C開發環境認識一個簡單的C程序 / 一般都從「Helloworld"這個簡單的C程序開始算法入門 / 算法基本概念,簡單程序結構,流程圖等基本數據類型 / 整型,浮點型,字符型運算符與表達式 / 各種運算符以及優先級,表達式和語句等簡單輸入輸出函數 / 目前主要是scanf和printf,getchar和putchar選擇
  • C語言入門級教程:基礎數據類型與基本算法,學編程從此刻開始!
    話不多說,我們一起來學習吧~ 數據類型 ● 基本類型 基本類型就是我們在使用C語言時最基礎的數據類型,包括整形(短整型,基本整型,長整型)、字符型、浮點型(單、雙精度)以及枚舉類型。
  • 學員問:C語言入門要掌握哪些基礎知識?
    4、在{ }裡面每一句話後面都有一個分號(;),在c語言中,我們把以一個分號結尾的一句話叫做一個c語言的語句,分號是語句結束的標誌。(注意:c語言中沒有直接表示二進位的整型常量,在c語言源程序中不會出現二進位。)
  • C++中的指針與引用
    當CV-qualifiers用於限定數組類型時,實際上是數組成員被該CV-qualifiers限定,而非該數組類型。複合類型並不因其成員被CV-qualifier限定而被該CV-qualifier限定,也就是說,即使複合類型的成員有CV-qualifier限定,該複合類型也不是CV-qualified對象。
  • Keil C語言
    Keil C語言相信讀者們對標準C語言(ANSI C)已經十分熟悉。Keil中的C語言與ANSI C語言略有變化,下面對Keil C語言的介紹將著重介紹Keil C與ANSI C不同的地方。數據類型表3.1中列出了Keil uVision2 C51編譯器所支持的數據類型。
  • 你們要的C語言精華,年薪100萬的行業
    小結:其實你只要真正理解了1,2,就相當於掌握了指針的牛鼻子。後面的就不難了,指針的各種變化和C語言中其它普通類型的變化都差不多(比如各種轉型)。二.數組。在C語言中,對於數組你只需要理解三件事。1.C語言中有且只有一維數組。
  • 我擦~字符串轉字節切片後,切片的容量竟然千奇百怪
    >字符串變量轉切片一個小小的字符串轉切片, 內部究竟發生了什麼, 竟然如此的神奇。abc"(SB), AX // 將字符串"abc"放入寄存器AX0x0036 00054 (test.go:6) MOVQ AX, "".a+96(SP) // 將AX中的內容存入變量a中0x003b 00059 (test.go:6) MOVQ $3, "".a+104(SP) // 將字符串長度3存入變量a中0x0044 00068 (test.go:7) MOVQ $0
  • C語言的指針,簡介
    指針,是一個表示變量或函數的地址的無符號整數。指針的字節數,與CPU的位數有關,32位機是4位元組,64位機是8位元組。與高級語言的long類型的大小是一致的。所以在java的JNI庫裡,如果需要把native層的C結構體的指針保存到java層,一般是定義一個long類型的變量。指針指向的變量,可以是普通變量、數組變量、結構體變量,以及數組元素、結構體的成員變量,還可以是指針變量。指針還可以指向函數,叫做函數指針。
  • C語言中const關鍵字的妙用總結
    C語言中const關鍵字是constant的縮寫,通常翻譯為常量、常數等,有些朋友一看到const關鍵字馬上就想到了常量。事實上在C語言中const功能很強大,它可以修飾變量、數組、指針、函數參數等。本文將針對上述幾種修飾功能詳細做一個總結。
  • 程式語言中的快樂天使——Ruby
    (開個玩笑啦)其實說到程式語言,程序世界裡有著種類繁多的語言。這些語言誕生的緣由多種多樣,有的是為了編寫運行速度快的程序,有的是為了可以在短時間內編寫程序,有的是為了讓程序只需編寫一次就可以在任何環境中運行,有的是為了使小孩也能進行簡單編程,等等。但是,似乎並沒有哪個語言積極地宣稱其目的是快樂編程。這可能是由於各個語言的設計者並沒有認真考慮過讓任何人都可以編程吧。
  • C+基礎知識篇:C+常量
    常量可以是任何的基本數據類型,可分為整型數字、浮點數字、字符、字符串和布爾值。 常量就像是常規的變量,只不過常量的值在定義後不能進行修改。 整數常量 整數常量可以是十進位、八進位或十六進位的常量。
  • 「C語言更新」C語言中如何來定義一個指針,並且對其進行初始化
    文/Edward上一節中,我們利用了一個小知識來介紹了一下指針,在上面這個例子中,小明和小麗手中的這個杯子就好比我們C語言中的變量,它確實是實實在在存放一些有具體意義的數據。這個杯套就類似於C語言中指針的作用,假設我們由100個這種杯子的內膽,裡面分別存放了不同類型的飲料,那麼我們想要拿取其中某一杯飲料時,只需要手中有1個杯套,就可以取不同的飲料了。再來說下函數參數傳遞的問題。在C語言中,每個變量被定義好之後(Auto類型定義),編譯器便會在內存的棧區為它們開闢出來內存空間來存放這些變量。
  • 入門C語言!
    也許有很多同學想學習C語言,卻不知道從什麼地方入手。或者有一些同學,學了一些基礎,太簡單的覺得枯燥無趣,有點複雜的又靜不下心來細細琢磨,也就是所謂的瓶頸時期,如果過了這個時期,C語言的學習就會順暢很多,高度也會大幅度提升。
  • C Primer Plus(第6版)中英文版 高清PDF電子書
    《C Primer Plus(第6版)中文版》經久不衰的C語言暢銷經典教程,針對C11標準進行全面更新,詳細講解了C語言的基本概念和編程技巧。 全書共17章。第1、2章介紹了C語言編程的預備知識。第3~15章詳細講解了C語言的相關知識,包括數據類型、格式化輸入/輸出、運算符、表達式、語句、循環、字符輸入和輸出、函數、數組和指針、字符和字符串函數、內存管理、文件輸入輸出、結構、位操作等。
  • 「Java」基礎07:常量、變量和數據類型
    顧名思義:常量是指固定不變的數據變量是指在程序中可以變化的量一、常量整數常量:所有的整數,比如0、100等小數常量:所有的小數,比如0.1、3.58等字符常量:單引號引起來,只能寫一個字符,必須有內容(空格也是字符),比如『a』、『 』、『嘻』等字符串常量:雙引號引起來,可以寫多個字符
  • Java這個類,大概就和現實中吃飯一樣常見
    字節數組構造方法(按照對應的ASCII編碼對應)。不用構造方法,直接賦值常量,這種方式比較特殊,也比較常見,因為常量的基本類型有一種就是字符串,所以可以直接賦值。註:在jdk8中,char[]是字符串內部實現原理,在jdk9版本中改為byte[]了。理解完創建方式,那String的常用方法有哪些?
  • JAVA 中如何反轉字符串字符,一共4中方式,請牢記!
    比如:String str = "abcd";通過反轉倒序後輸出:dcba故此文本主要講述如何將 String 類型的字符串字母倒序過來的幾種方法。下面就列舉如下4種方法並一一說明!StringBuilder(str).reverse()在Java中,我們可以使用StringBuilder(str).reverse()使字符串字母倒序。