程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 字符串的基本操作,字符串基本操作

字符串的基本操作,字符串基本操作

編輯:關於C語言

字符串的基本操作,字符串基本操作


#define _CRT_SECURE_NO_WARNINGS 
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

//一級指針的典型用法
//數組 int a[10]
//字符串 
//1 C語言的字符串 以零結尾的字符串
//2 在C語言中沒有字符串類型 通過字符數組 來模擬字符串 
//3 字符串的內存分配 堆上 棧上 全局區 (很重要)


// []的本質 :和*p 是一樣 ,只不過是符合程序員的閱讀習慣
// buf5 是一個指針, 只讀的常量 buf5是一個常量指針 析構內存的時候,保證buf所指向的內存空間安全釋放
//為什麼這麼做?

//p普通指針和內存首地址區別


//字符數組 初始化
void main51()
{

//1 指定長度 
char buf2[100] = {'a', 'b', 'c', 'd'}; 
//1-1char buf3[2] = {'a', 'b', 'c', 'd'}; //如果初始化的個數大於內存的個數 編譯錯誤
//1-22//後面的buf2[4]-buf2[99] 0


//2 不指定長度 C編譯器會自動幫程序員 求元素的個數
char buf1[] = {'a', 'b', 'c', 'd'}; //buf1是一個數組 不是一個以0結尾的字符串

printf("buf2: %s \n", buf2);

printf("buf2[88]:%d \n", buf2[88]);

printf("hello....\n");
system("pause");

return ;
}

//用字符串 來 初始化字符數組
//strlen() 長度 不包括0
//sizeof() 內存塊的大小
void main52()
{
    
}

//通過數組下標 和 指針
void main58()
{
int    i = 0;
char    *p = NULL;
char buf5[128] = "abcdefg"; // buf

for (i=0; i<strlen(buf5); i++)
{
printf("%c ", buf5[i]); 
}

p = buf5; //buf 代表數組首元素的地址

for (i=0; i<strlen(buf5); i++)
{
p = p +i;
printf("%c ", *p ) ;
}

//buf
for (i=0; i<strlen(buf5); i++)
{
printf("%c ", *(buf5+i) ) ;
}

//[] *的推導過程
// buf5[i] ===> buf5[0+i]; ==> *(buf5+i);

{
//buf5 = buf5 + 1;
//buf5 = 0x11;
}
printf("hello....\n");
system("pause");
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved