當前位置:首頁 » 編程語言 » c語言動態指針數組輸入字元串數組

c語言動態指針數組輸入字元串數組

發布時間: 2023-09-24 01:30:22

c語言中將字元串用指針數組輸入輸出..

首先確定是字元指針數組還是字元數組指針,前者是一個數組,數組每個元素都是一個字元指針,後者是一個指向字元數組的指針。
若是指向字元數組的指針,則很簡單,使用scanf("%s",
str);函數獲取輸入的字元串,然後使用字元串拷貝函數strcpy(stc,
dest);將獲取的字元串拷貝到指定地址的字元指針數組中,拷貝過程中注意檢查訪問數組是否越界,若越界,則需要在字元數組的最後一個元素賦值為結束符'\0'。
若是賦值
字元指針數組,那麼就是對數組中的某一個元素指向的字元數組進行拷貝賦值,其過程與前者相同。

Ⅱ c語言指針輸入

#include<stdio.h>

int main()

{

int a,b,c,s[3],t;

int *x,*y,*z;//定義指針變數

x=&a;//將a的地址賦給指針x,下同

y=&b;

z=&c;

scanf("%d%d%d",x,y,z);

s[0]=*x;//將指針x所指向的變數值賦給數組s的第一個元素;依次類推

s[1]=*y;

s[2]=*z;

for(int i=0;i<3;i++)//冒泡排序

for(int j=0;j<3-i-1;j++)

if(s[j]<s[j+1])

{

t=s[j];

s[j]=s[j+1];

s[j+1]=t;

}

for(int i=0;i<3;i++)

printf("%d ",s[i]);

return 0;

}

Ⅲ 在c語言中如何實現數組的動態輸入

頭文件malloc.h

使用malloc來申請一個初始地址空間。

然後在循環輸入的過程中不斷檢查初始空間是否已滿,滿了就是使用realloc來擴展地址空間。

最後,如申請的地址不需要使用了,且程序沒有結束,需要用free來釋放。

另外,使用malloc或realloc申請時,需要先判斷下返回值是否為空,如有異常申請失敗,用空指針直接使用,會造成程序錯誤。

下面簡單示範:(初始申請2個位元組,之後每次輸入字元擴展1個位元組,回車結束輸入)

#include <stdio.h>

#include <malloc.h>

int main()

{

int len=2;

char *a=NULL,*aSave=NULL,c;

a=(char*)malloc(sizeof(char)*len);

if(!a)

return 1;

a[0]=0;

while(1)

{

c=getchar();

if(c==10)

break;

if(a[0]==0)

a[0]=c,a[1]=0;

else

{

aSave=realloc(a,sizeof(char)*len);

if(!aSave)

return 1;

a=aSave;

a[len-2]=c,a[len-1]=0;

}

len++;


}

printf("輸入的字元串數組是: %s ",a);

free(a);

return 0;

}

Ⅳ c語言動態輸入字元指針數組

s[i]= ch;這一行知跡換成strcpy(s[i],ch);試試
s[0],和s[1]分別對應2次的輸入
需要#include <string.h>

或搭仿並者將scanf("%s"大基,ch);改成scanf("%s",s[i]);
去掉s[I]=ch;

熱點內容
php讀文件 發布:2025-03-07 00:36:48 瀏覽:739
無線網如何分享密碼 發布:2025-03-07 00:27:33 瀏覽:428
dvr遠程訪問 發布:2025-03-07 00:24:37 瀏覽:779
java可視化界面編程 發布:2025-03-07 00:17:22 瀏覽:468
資料庫溫備 發布:2025-03-07 00:17:12 瀏覽:501
debian如何編譯qemu 發布:2025-03-07 00:05:32 瀏覽:859
ins海外伺服器ip是什麼 發布:2025-03-06 23:44:59 瀏覽:357
我的世界java版伺服器推薦ip 發布:2025-03-06 23:43:17 瀏覽:565
如何取消微信帳號和密碼 發布:2025-03-06 23:39:20 瀏覽:793
emc存儲備份 發布:2025-03-06 23:35:02 瀏覽:837