程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 如何在C中初始化變量

如何在C中初始化變量

編輯:關於C語言
 

在C中對變量進行初始化相對其它高級語言來說,有一些困難.所以簡單總結了幾種變量的初始化方法

普通變量

例如int, char, float等,直接使用最普通的初始化語法

int a = 12;
char b = 'a';
float c = 12.3;


數組

•字符數組

char a[] = {'e', 'x', 'a', 'm', 'p', 'l', 'e', '\0'};
// 最麻煩的賦值方法,還要注意最後面的'\0', 因此不推薦此方法
char b[] = "example";
char *c = "example";
// 相對最優雅的方法

 

•非字符數組

int a[] = {1, 2, 3, 4, 5};
// 數組分別賦值為 1, 2, 3, 4, 5
int b[5] = {1};
// 初始化一個長度為5的整數數組,第一項賦值為1,其余為0

 

•多維數組

char *a[] = {
"example1", "example2",
"example3", "example4"
};
// 初始化一個字符串數組

char **b = malloc(4 * sizeof(char *));
// malloc方法需要include "stdlib.h"
b[0] = "example5";
b[1] = "example6";
b[2] = "example7";
b[3] = "example8";
// 在知道字符串個數的情況下,初始化字符串數組

int c[3][5] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}
};
// 初始化整數二維數組時,分別指定第一維和第二維的長度

int d[][5] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}
};
// 不指定第一維的長度,編譯器根據第二維的長度自動判斷第一維長度

// int e[][5] = {
int e[3][5] = {
1, 2, 3, 4, 5,
6, 7, 8, 9, 10,
11, 12, 13, 14, 15
};
// 直接當成一個一維數組

 

結構體

typedef struct Person{
int id;
int age;
char *name;
} Person;

Person people1;
people1.id = 1;
people1.age = 11;
people1.name = "example1";

Person people2 = {
.id = 5,
.age = 14,
.name = "example2"
};
// 類似於JavaScript中的對象字面量方法,但是需要在屬性前面加`點`,
// 賦值操作使用`等號`,而不是JavaScript中的`冒號`

Person *people3 = malloc(sizeof(Person));
// 使用malloc確定指針指向的空間大小,否則會出現`segmentation fault`錯誤
people3->id = 3;
people3->age = 13;
people3->name = "example3";
// 因為people3是指針,所以此處使用箭頭符號`->`,而不用點號`.`

 

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