static 指標 結構體使用
阿新 • • 發佈:2018-12-09
static 指標 結構體使用
static使用注意事項
static --> //修飾區域性變數:將變數的生命週期變為和整個程式相同 但是不改變作用域
//修飾全域性變數:將改變作用域為當前檔案
//修飾一個函式:修改了函式的作用域為當前檔案
指標定義
printf("%p",p); // %p --> 列印指標變數
int* p; // int* 中的 * 和int構成一個整體-指標型變數
// 一個指標變數佔用 4 個位元組,地址對應的變數具體佔用幾個位元組由 * 前面的型別決定
printf("%d",*p); // *p 中的 * 代表"解引用" 臺灣叫"提領"
結構體定義
1、 struct Student {
char name[20];
int score;
};
typedef struct Student Student;
int main(){
Student student;
student.score = 100;
}
2、 struct 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;
}