c语言学习笔记四

结构体


复合类型和结构体


复合类型:
示例代码:
struct test_sturuct{
int x,y;
}
如果用这种复合类型来定义变量:
示例代码:
struct test_sturuct{
int x,y;
}z1,z2;

定义访问结构体:
#include<stdio.h>
int main(void){
struct test_sturuct{
int x,y;
}z;
int x=3;
z.x=x;
z.y=4;
printf("z=%f%f",z.x,z.y);
return 0;
}
注:如果未指定成员则用0 来初始化,不能给结构体赋值,结构体之间可以赋值



数所抽像
示例代码:
#include <stdio.h>
struct test_struct{
double x,y;
};
double part1(struct test_struct z){
return z.x;
}
double part2(struct test_struct z){
return z.y;
}


数据类型标志
嵌套结构体
示例代码;
struct segment{
struct test_struct start;
struct test_sttuct end;
}






数组
也是一种复合数据类型,由一系列相同类型的元素组成
示例代码:
int count[4];
数组的长度由常量表达式来指定,上面定义的数组占4 个int型的存储单元
访问数组可以用指定下标的方式:
count[0];
注数组之间不能赋值和初始化


示例代码:
#include <stdio.h>
int a[N];
void gen_random(int upper_bound){
int i;
for(){
a[i]=rand()%upper_bound;
}
}
void print_random(){
int i;
for(i=0;i<N;i++){
printf("%d",a[i]);
}
printf("\n");
}
int main(void){
getn_random(100);
print_random();
return 0;
}

宏定义: #define TEST 2




多维数组
示例代码:int x[3][4]={1,2,3,4,5,6,7,8,9,11,12,13};
也可以这样初始化:int x[][2]={{1,2},{3,4},{5,}};



编码风格
1 if/while/for与括号之间可以有一个空格 
2 双目运算符两侧可加空格,单目不可以
3 后缀和操作数之间不能有空格
4 ,/;后要加空格
5 折行
6 字符串分行不用+
7 switch中的case和default不要缩进
8 代码段和函数间可以用空行




注释
多行注释
/*
*
*/


indent工具
$indent -kr -18 文件名

你可能感兴趣的:(学习笔记)