當前位置:首頁 » 編程語言 » c語言傳遞字元串數組

c語言傳遞字元串數組

發布時間: 2022-03-15 22:28:09

c語言如何傳遞字元串

c語言函數中傳遞字元串,可以分為兩種情況,一種是將字元串作為參數,一種是將字元串作為返回值 ,當使用字元串作為返回值時,切記不要傳遞局部字元數組。下面是一個示例代碼:


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidf(char*str){//字元串作參數
printf(str);
}
char*r(){//字元串作返回值
//使用動態分配內存,不要使用局部變數比如
//charbuf[80];因為局部變數在函數結束時,棧區變數已被回收
char*str=(char*)malloc(256*sizeof(char));
if(str==0){printf("can'tallocmem ");return0;}
elsememset(str,0x00,sizeof(char)*256);
returnstr;//
}
intmain()
{
char*pstr=r();
if(pstr!=0)strcpy(pstr,"helloworld ");
f(pstr);
free(pstr);
return0;
}

⑵ C語言中將字元串賦值給字元數組

char c[10];
//c是數組名,代表數組的首地址。要是想讓數組中存放一個字元串,只需知道首地址即可。所以可以用scanf("%s",c);因為c本身就是地址,所以不用加&
char *s; //s是指針變數,指針可以存放一個地址值
s="ABCDE"; //c語言中字元串常量是以數組的形式在內存中存放,這條賦值語句,相當於是把ABCDE的首地址賦給了指針變數s
char s; //s是一個字元變數,只能給其賦一個合法的字元

⑶ 求助,c語言中的函數如何把字元串數組(不是字元串)傳入一個函數並作處理

char *strings[16];
這是一個指針數組,直接定義一個數組就可以了,對字元串的操作,指針和數組是等價的,
如果像你這樣用就這樣改:
char **str;
*str=strings[i];
或者
char *str;
str=&strings[i];

⑷ c語言定義字元串數組

C語言字元串數組中的每一個元素均為指針,即有諸形如「ptr_array[i]」的指針。由於數組元素均為指針,因此ptr_array[i]是指第i+1個元素的指針。

例:如二維指針數組的定義為:char *ptr_array[3]={{"asdx","qwer","fdsfaf"},{"44444","555","6666"},{"a78x","q3er","f2f"}};

(4)c語言傳遞字元串數組擴展閱讀

字元串數組數組元素表示方法:

數組元素的一般形式為:數組名[下標] 其中的下標只能為整型常量或整型表達式。如為小數時,C編譯將自動取整。

例如,a[5],a[i+j],a[i++]都是合法的數組元素。數組元素通常也稱為下標變數。必須先定義數組, 才能使用下標變數。在C語言中只能逐個地使用下標變數, 而不能一次引用整個數組。

⑸ C語言 字元串數組

導致這個問題的原因是緩存滿了,要使用語句
fflush(stdin) 將緩存清空可正常執行
此語句不建議經常使用,但卻是沒有辦法的辦法了,這是C語言的不足,在其他的高級語言中向這樣的錯誤就不存在,在學C的時候先應付著
趕快去試試吧…………

#include<stdio.h>
main()
{
int i,n;
char p[100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("now i is :%d\n",i);
fflush(stdin);//清空緩存
scanf("%c",&p[i]);
}
for(i=0;i<n;i++)
{
printf("the location of the point is :%d\n",i);
printf("%c",p[i]);
}
}

⑹ C語言字元串數組指針的傳遞

簡單寫了一個,供參考
#include
<stdio.h>
#include
<string.h>
struct
data
{
int
n;
char
name[10];
};
//傳入一個字元串指針name,給結構體相應變數賦值
void
cp_str(
char
*name
,
int
n
)
{
struct
data
st;
strcpy(
st.name
,
name
);
st.n=n;
}
//輸入數據,完成字元串的錄入
void
input_str()
{
int
i=0;
for(i=0;i<10;i++)
{
scanf("%s"
,name
);
cp_str(
name
,
i
);
}
}
//主程序
int
main()
{
input_str();
return
0;
}

⑺ C語言里如何把輸入字元串賦值給字元數組

說個例子吧~
char a[10];
怎麼給這個數組賦值呢?
1、定義的時候直接用字元串賦值
char a[10]="hello";
注意:不能先定義再給它賦值,如char a[10]; a[10]="hello";這樣是錯誤的!
2、對數組中字元逐個賦值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10]; strcpy(a, "hello");

⑻ C語言傳字元串數組

題目不夠詳細啊。給你解釋下什麼叫字元串數組吧
字元串數組就是一個數組,他的每一個元素都是一個字元串。
在c語言中字元串是以\0結尾的一串字元,如「abcd1234\0」
字元串數組str[2]={"abc\0","123\0"}
\0是結束符。字元串數組里的字元長度都為3
列印的時候只顯示abc,\0不顯示

⑼ 在C語言中怎麼把字元串存入數組

單獨說存入字元串:你可以定義一個字元數組和指針
讓指針 指向數組:
char *p,a[10];
p=a[10];
scanf("%f",p);

熱點內容
linux的etcfstab 發布:2025-01-16 15:00:43 瀏覽:363
電腦無法登錄內網伺服器 發布:2025-01-16 15:00:28 瀏覽:574
編譯nasm 發布:2025-01-16 14:54:43 瀏覽:201
編程實戰寶典 發布:2025-01-16 14:53:12 瀏覽:247
ibm伺服器怎麼關閉開機初始化 發布:2025-01-16 14:50:41 瀏覽:65
瀏覽器上傳不了圖片 發布:2025-01-16 14:45:46 瀏覽:599
汽車是哪個配置的怎麼看 發布:2025-01-16 14:43:47 瀏覽:50
唱吧上傳原唱 發布:2025-01-16 14:30:36 瀏覽:300
負載均衡後端伺服器獲取真實ip 發布:2025-01-16 14:30:26 瀏覽:655
linux系統centos如何配置網路 發布:2025-01-16 14:22:32 瀏覽:600