003 C語言字元陣列和字元指標

2021-10-21 18:43:07 字數 1249 閱讀 7368

#include #include #include int main() 

// c語言中沒有字串概念 只有字元陣列 和字元指標

// 字元陣列是定長的,長度不能修改, 但是可以修改某個位置的字元,字元指標是不能修改元素的

// 保留最有乙個陣列元素 \0 表示結束

char str = ;

char str2[6] = ;

char str3[10] = "hello";

char *str4 = "hello";

printf("str is %s, size is %d\n", str, strlen(str));

printf("str2 is %s, size is %d\n", str2, strlen(str2));

printf("str3 is %s, size is %d\n", str3, strlen(str3));

printf("str4 is %s, size is %d\n", str3, strlen(str4));

str[1] = 'a';

printf("str is %s, size is %d\n", str, strlen(str));

//str4[1]= 'a';

while(*str4)

int nums = ;

printf("nums %d\n", sizeof(nums));

int length = sizeof(nums)/sizeof(int);

int i = 0;

for (; i輸出如下:

str is hello, size is 5

str2 is hello, size is 5

str3 is hello, size is 5

str4 is hello, size is 5

str is hallo, size is 5

character is h

character is e

character is l

character is l

character is o

nums 1612

34number is 1

number is 2

number is 3

number is 4

沒有找到字元

str6 is china

str6 is china is powerful

C語言 字元指標和字元陣列的區別

char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首位址,即指向字串的首位址。這裡要注意字元指標與字元陣列之間的區別。例如,有說明語句 char string this is a string.此時,string是字元陣列,它存放了乙個字...

C語言 字元指標和字元陣列的區別

在日常敲 的過程中我們會遇見這樣乙個問題 例子1 void mian void mian 例子2 這裡我們換成乙個指標,對指標int a賦值,則不需要加取位址符號 原因不難理解,上乙個例子對a賦值需要其位址,所以我們需要加 而這裡指標int a本身就是乙個位址,所以沒必要再加 取指標變數a本身的位址...

C語言中關於字元陣列和指標陣列

做筆試題目的時候,碰到字元陣列初始化的問題,居然一下子懵了。在c語言中儲存字串有兩種方法 字元陣列和字串指標 這兩者的儲存位置不同,首先字元陣列 區域性變數 是儲存在棧中的 指標指向字串時,則包括了兩部分,指標本身,儲存在棧中 區域性指標變數 字串本身儲存在 段 gcc中是這樣 基於上面一點就會產生...