【Leetcode每日筆記】830. 較大分組的位置(Python)
阿新 • • 發佈:2021-01-06
一、指標指向地址和賦值
#include <stdio.h> int main(){ int a, b; int *pointer_1, *pointer_2; a=100; b=200; pointer_1 = &a;//將a的地址賦給p1 pointer_2 = &b;//將b的地址賦給p2 printf("%d,%d\n", a, b); printf("%d,%d\n", &a, &b); printf("%d,%d\n", *pointer_1, *pointer_2);//取指標指向的值 printf("%d,%d\n", &pointer_1, &pointer_2); printf("%d,%d\n", pointer_1, pointer_2); } //輸出 100,200 -751756,-751760 100,200 -751764,-751768 -751756,-751760
- &:而這玩意叫做取址操作符
- *:這玩意叫做取值操作符
- p1指向變數a的地址,所以a前面要加地址符&
- p2指向變數b的地址
- *p1指向變數a的地址中的元素(值)
- *p2指向變數b的地址中的元素(值)
二、修改指標指向的地址
#include"stdio.h" int main(){ int a=12,*p; p=&a;//指向a的地址 printf("%d\n",*p);//輸出p指向a的地址中的值12 int b=56; p=&b;//改變指標p指向的地址為b的地址 printf("%d\n",*p);//輸出p指向b的地址中的值56 printf("%d %d\n",a,b);//原變數值不變,輸出12 56 } //輸出 12 56 12 56
三、指標字串
#include"stdio.h"
#include "string.h"
int main(){
char *word = "MrFlySand.github.io";
for(int i = 0; i < strlen(word); i++){
printf("%c ",*(word+i));
}
}
//輸出
M r F l y S a n d . g i t h u b . i o
- strlen()獲取字串的長度,strlen(word)=19.
#include"stdio.h" #include "string.h" int main(){ char *word = "mr fly sand"; printf("%c",*(word)-32); for(int i = 1; i < strlen(word); i++){ if(*(word+i-1)==' '){ printf("%c",*(word+i)-32); }else{ printf("%c",*(word+i)); } } } //輸出 Mr Fly Sand