日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【C 语言】字符串操作 ( C 字符串 | 字符数组始化 )

發布時間:2025/6/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C 语言】字符串操作 ( C 字符串 | 字符数组始化 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、C 字符串
  • 二、字符數組始化





一、C 字符串



C 字符串特征 : C 語言中的字符串都是以 '\0'字符 結尾的 字符數組 ;

C 字符串本質 : C 中 沒有字符串類型 , 都是使用 字符數組 模擬字符串 ;

字符串內存分配 :

  • 堆區存放字符串 : 先使用 malloc 申請內存 , 然后將字符串拷貝到內存中 ;
  • 棧區存放字符串 : 在棧區聲明 char[] 數組 , 將字符串拷貝到數組中 ;
  • 全局區存放字符串 : 直接聲明 "abc" 樣式的 字符串常量 , 則字符串存放在了 全局區的 常量區 ;

不是所有的 字符數組 都是 字符串 , 必須是以 '\0' 字符 結尾的 字符數組 , 才算字符串 ;

下面的這種情況 , 是字符數組 , 有 333 個數組元素 , 由于其不是以 '\0' 字符 結尾 , 因此該 字符數組 不是字符串 ;

// 2. 初始化字符數組 , 不指定長度// C 編譯器會自動計算 字符數組 元素個數// 注意 : 這不是字符串 , 字符串必須以 '\0' 結尾char str2[] = {'a', 'b', 'c'};



二、字符數組始化



初始化字符數組 , 可以 指定長度 , 如下字符數組有 20 字節 , 只給前 3 個元素進行了初始化 , 第 3 ~ 19 元素 , 會自動賦值為 0 ;

char str[20] = {'a', 'b', 'c'};

注意 : 如果初始化的 字符數組 超過數組長度 , 會報錯 ;


初始化字符數組 , 不指定長度 , C 編譯器會自動計算 字符數組 元素個數 ;

char str2[] = {'a', 'b', 'c'};

注意 : 這不是字符串 , 字符串必須以 ‘\0’ 結尾


代碼示例 :

#include <stdio.h> #include <string.h> #include <stdlib.h>/** 函數入口*/ int main(int argc, char **args) {// 1. 初始化字符數組 , 指定長度// 字符數組有 20 字節 , 只給前 3 個元素進行了初始化// 第 3 ~ 19 元素 , 會自動賦值為 0char str[20] = {'a', 'b', 'c'};// 如果指定長度初始化字符數組 , 如果初始化數組中個數大于字符數組長度// 編譯會直接報錯//char str1[2] = {'a', 'b', 'c', '\0'}; // 錯誤示例// 2. 初始化字符數組 , 不指定長度// C 編譯器會自動計算 字符數組 元素個數// 注意 : 這不是字符串 , 字符串必須以 '\0' 結尾char str2[] = {'a', 'b', 'c'};// 打印上述 字符串printf("str = %s, str2 = %s\n", str, str2);system("pause");return 0; }

執行結果 :

str = abc, str2 = abcabc

總結

以上是生活随笔為你收集整理的【C 语言】字符串操作 ( C 字符串 | 字符数组始化 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。