① c語言 關於字元數組的定義
#include<stdio.h>
#include<string.h>
#define max 20
typedef struct {
int edges[max][max];
int n,e;
char vexs[max][1];
} MatGraph;
void CreatVer(MatGraph *g)//首先你要是想在自定義中改變變數,必須通過地址訪問變數;形參必須是指針變數;
{//參數是變數值的,只是在對變數的一個副本操作,不會改變變數值;
char a[]="abcdefg";
for(int i=0;i<7;i++)
g->vexs[i][0]=a[i];
}
main()
{
MatGraph g;
CreatVer(&g);
for(int i=0;i<7;i++)
putchar(g.vexs[i][0]);
}
② c語言如何定義字元數組
定義字元數組的方法,與定義整數數組或浮點數數組並無二致,都是完全一樣的。例如,以下的語句,可以定義一個最多存放1000個字元的字元數組:
char s[1000];
③ C語言 定義一個字元數組
單片機程序的話就如下:
unsigned char shuzi[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c};
unsigned char shuzi[]={'1','2','3','4','5','6','7','8','9',"10","11","12"};
字元的話單個才用引號 2個以上就得用雙引號啦 建議用第一種方法 寫液晶的話 直接0x30就是數據0啦 0x31 是1·····直接把寫數據的函數里放0x30就是數據0 比如 Write_Data(0x30)就是在指定位置寫數據0 函數名當然是你自己的啦
④ C語言,定義函數交換字元串數組
C語言中交換兩個字元串需要藉助strcpy函數或者使用自定義交換函數進行交換
如交換a,b數組中的字元串代碼:
char a[10] = "abed", b[10] = "efg", t[10];strcpy(t, a);//a復制給tstrcpy(a, b);//b復制給astrcpy(b, t);//t復制給b
附:strcpy函數詳情
原型聲明:
char *strcpy(char* dest, const char *src);
頭文件:
#include <string.h> 和 #include <stdio.h>
功能:把從src地址開始且含有NULL結束符的字元串復制到以dest開始的地址空間
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。返回指向dest的指針。
⑤ c語言定義字元串數組
C語言字元串數組中的每一個元素均為指針,即有諸形如「ptr_array[i]」的指針。由於數組元素均為指針,因此ptr_array[i]是指第i+1個元素的指針。
例:如二維指針數組的定義為:char *ptr_array[3]={{"asdx","qwer","fdsfaf"},{"44444","555","6666"},{"a78x","q3er","f2f"}};
(5)c語言字元數組函數定義擴展閱讀
字元串數組數組元素表示方法:
數組元素的一般形式為:數組名[下標] 其中的下標只能為整型常量或整型表達式。如為小數時,C編譯將自動取整。
例如,a[5],a[i+j],a[i++]都是合法的數組元素。數組元素通常也稱為下標變數。必須先定義數組, 才能使用下標變數。在C語言中只能逐個地使用下標變數, 而不能一次引用整個數組。
⑥ C語言的字元數組str[]的定義和用法
.;
以此類推
第二個式子和第一個式子差不多
可以說第2個式子就是
strcpy函數的工作原理
首先將k定為數組下界
然後每次循環自減1
n為制定的循環次數
這個循環是將後一項數組元素賦值給前一項
也就實現了你說的將第m個字元後面的字元順序向前移動一個位置
別說你沒學數組
不知道下界.,&str[1+1]).;
也就是strcpy(&str[0]..;
也就是strcpy(&str[1]str[]表示這是個數組
m是一個變數
舉個列子你就知道了
當m=0時這個式子等價於strcpy(&str[0],&str[2])?
當m=1時這個式子等價於strcpy(&str[1]..,&str[0+1])..
那你的好好補補基礎,&str[1]).;
strcpy()函數是干什麼的不要多說吧
⑦ C語言怎樣定義字元數組
char a;
定義的是一個字元型的變數a
⑧ c語言中能不能定義函數數組
函數不可以定義為數組,可以用函數指針來操作。
1.函數指針的數組定義方法:返回值類型( * 指針變數名[Number]) (形參列表)。
例如:
double add(double a,double b){}
double sub(double a,double b){}
double mul(double a,double b){}
double div1(double a,double b){}
double (*oper_func[])(double, double) = {add,sub,mul,div1};//函數指針的數組定義。
2.函數指針是指向函數的指針變數。 因而「函數指針」本身首先應是指針變數,只不過該指針變數指向函數。這正如用指針變數可指向整型變數、字元型、數組一樣,這里是指向函數。
C在編譯時,每一個函數都有一個入口地址,該入口地址就是函數指針所指向的地址。有了指向函數的指針變數後,可用該指針變數調用函數。
(8)c語言字元數組函數定義擴展閱讀:
指針函數和函數指針的區別:
這兩個概念都是簡稱,指針函數是指返回值是指針的函數,即本質是一個函數。我們知道函數都有返回類型(如果不返回值,則為無值型),只不過指針函數返回類型是某一類型的指針。其定義格式如下所示:返回類型標識符*函數名稱。
返回類型可以是任何基本類型和復合類型。返回指針的函數的用途十分廣泛。事實上,每一個函數,即使它不帶有返回某種類型的指針,它本身都有一個入口地址,該地址相當於一個指針。比如函數返回一個整型值,實際上也相當於返回一個指針變數的值,不過這時的變數是函數本身而已,而整個函數相當於一個「變數」。
參考資料:網路 -函數指針
⑨ 請問c語言怎麼定義字元串數組並用printf()函數顯示出來
定義:char str[1000];
輸入:scanf("%s",str);或是gets(str);前一個沒有空格,後一個可以包含空格
輸出:printf("%s",str);或是puts(str);
⑩ c語言,字元數組函數
#include<stdio.h>
/*比較兩個字元串*/
/*src、dst相等return1*/
/*src比dst短return-2*/
/*src比dst長return2*/
/*src、dst長度一致但不相等return-1*/
intstringCmp(char*src,char*dst){
if(strlen(src)<strlen(dst))
return-2;
elseif(strlen(src)>strlen(dst))
return2;
else{
while(*src&&*dst){
if(*src!=*dst)
return-1;
src++;
dst++;
}
return1;
}
}
/*合並兩個字元串*/
voidmergeString(char*str1,char*str2,char*merge){
while(*merge++=*str1++);/*復制str1並將指針移動到字元串的末尾的下一個位置*/
merge--;/*退到字元串的末尾*/
while(*merge++=*str2++);/*從末尾( )的位置開始將str2拷貝進來*/
*merge='