1. 程式人生 > >static 指標 結構體使用

static 指標 結構體使用

static 指標 結構體使用

static使用注意事項

static -->	//修飾區域性變數:將變數的生命週期變為和整個程式相同 但是不改變作用域
			//修飾全域性變數:將改變作用域為當前檔案
			//修飾一個函式:修改了函式的作用域為當前檔案

指標定義

printf("%p",p);	// %p --> 列印指標變數

int* p;			// int* 中的 * 和int構成一個整體-指標型變數
				// 一個指標變數佔用 4 個位元組,地址對應的變數具體佔用幾個位元組由 * 前面的型別決定
printf("%d",*p);	// *p 中的 * 代表"解引用"  臺灣叫"提領"

結構體定義

1struct Student {
		char name[20];
		int score;
	};
	typedef struct Student Student;
	int main(){
		Student student;
		student.score = 100;
	}
2struct Student {
		char name[20];
		int score;
	}student;
	int main(){
		student.score = 100;
	}

今日程式碼

#define _CRT_SECURE_NO_WARNINGS
#include
"stdio.h"
#include "stdlib.h" /* * 函式功能:列印一個簡單圖案 */ struct Student { int n , m , k ; }; typedef struct Student Student; int main() { printf("\n**函式功能:列印一個簡單圖案**\n\n"); Student student; printf("輸入一個整數:"); scanf("%d",&student.m); for (student.n = 1; student.n < student.m + 1 ; student.n++
) { for (student.k = 0; student.k < student.n; student.k++) { printf("*"); } printf("\n"); } for (student.n = 1; student.n < student.m + 1; student.n++) { for (student.k = 0; student.k < student.m - student.n ; student.k++) { printf("*"); } printf("\n"); } system("pause") ; return 0 ; }
#define _CRT_SECURE_NO_WARNINGS
#include "stdio.h"
#include "stdlib.h"
/*
*	函式功能:輸出 0 到指定數字之間的所有水仙花數
*/
int main() {
	printf("\n**函式功能:輸出 0 到指定數字之間的所有水仙花數**\n\n");
	int n , i ;
	printf("輸入一個數:");
	scanf("%d", &n);

	printf("水仙花數為:");
	for (i = 1; i < n + 1; i++) {
		if (get_three(i) == 1) {
			printf("%5d", i);
		}
	}
	printf("\n");
	system("pause") ;
	return 0 ;
}

int get_three(int m) {
	int a, b, c , d;
	a = m % 10;
	b = m / 10 % 10;
	c = m / 100 % 10;
	d = m / 1000 % 10;
	if ((a*a*a + b * b*b + c * c*c + d*d*d) == m) {
		return 1;
	}
	return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include "stdio.h"
#include "stdlib.h"
int get_number(int m);
/*
*	功能:實現前5個數相加  例如1+11+111+1111+11111
*/
int main() {
	printf("\n**功能:實現前5個數相加  例如1+11+111+1111+11111**\n\n");
	int n , i;
	printf("輸入一個1-9的數字:");
	scanf("%d", &n);
	for (i = 0; i < 4; i++) {
		n = get_number(n);
	}
	printf("sum = %d\n", n);
	system("pause");
	return 0;
}
int get_number(int m) {
	return m += m * 10;
}